Release 1.6.1: sync release/1.6.0 into main - #157
Conversation
Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 3.0.1 to 5.0.0. - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](actions/upload-pages-artifact@56afc60...fc324d3) --- updated-dependencies: - dependency-name: actions/upload-pages-artifact dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 7.0.0 to 7.0.1. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@9c091bb...3d3c42e) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 7.0.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6.2.0 to 7.0.0. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@a309ff8...5fda3b9) --- updated-dependencies: - dependency-name: actions/setup-python dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/cache](https://github.com/actions/cache) from 5.0.5 to 6.1.0. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@27d5ce7...55cc834) --- updated-dependencies: - dependency-name: actions/cache dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Doc-only cleanup; no product behaviour changes. - ADR index: add missing ADR-055/056 rows; reconcile status cells and status lines (005/006/021/040/044/046); fix ADR-005 index title that stated the pre-C1 policy; rewrite 40 stale ../v0.1/ links to ../1.0/; fix ADR-055 Extends filenames, ADR-034/035 relocated paths, and two detailed-design anchors. - docs/: fix dead links/anchors repo-wide (linkcheck clean except untracked CLAUDE.md/.filigree refs); .loomweave/ -> .weft/loomweave/ in current-facing docs; ~/loom/ -> ~/weft/ hub path; stale v1.0.0/ v1.4.0 install snippets -> v1.5.1 with PEP 625 sdist name; v0.1 -> 1.x wording in runtime-topology / language-support. - Indexes: docs/README.md non-normative section; docs/loomweave, 1.0, operator, implementation, archive READMEs match their trees; new docs/federation/README.md. - Archival (git mv, verbatim + archived note): 11 superseded memos -> docs/archive/implementation-memos/; arch-analysis-2026-05-20-2124 -> docs/archive/; docs/plans/ + six completed rust-plugin plans -> docs/superpowers/plans/archive/. Rename loom- -> weft- federation hardening tasking memo to match its title and inbound links. - Operator docs: retired MCP tool aliases -> current names, 48-tool count, install/.mcp.json contradiction resolved, llm_policy gate stated where summaries are introduced, llm.* -> llm_policy.* key. - www/ + site/: version strings -> v1.5.1, tool count -> 48, sdist name, db backup positional, doctor --format; www/README.md now states www/ is not deployed (docs.yml retired in 3d2749b). - Hygiene: untrack .codex/config.toml (machine-local paths) and ignore /.codex/; remove orphaned .jules/bolt.md and a stale scratch.txt; .gitignore gains *.db-shm, /dist/, coverage.xml, editor artifacts; deploy-site.yml stale header comment. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from e18b497796c12c097a38f9edb9d0641fb99eee32 to f0d9c3887740aee45f6153b24b3a6b815192ec16. - [Release notes](https://github.com/swatinem/rust-cache/releases) - [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md) - [Commits](Swatinem/rust-cache@e18b497...f0d9c38) --- updated-dependencies: - dependency-name: Swatinem/rust-cache dependency-version: f0d9c3887740aee45f6153b24b3a6b815192ec16 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
…s/actions/cache-6.1.0 chore(deps): bump actions/cache from 5.0.5 to 6.1.0
…s/actions/setup-python-7.0.0 chore(deps): bump actions/setup-python from 6.2.0 to 7.0.0
…s/actions/checkout-7.0.1 chore(deps): bump actions/checkout from 7.0.0 to 7.0.1
…s/actions/upload-pages-artifact-5.0.0 chore(deps): bump actions/upload-pages-artifact from 3.0.1 to 5.0.0
…s/Swatinem/rust-cache-f0d9c3887740aee45f6153b24b3a6b815192ec16 chore(deps): bump Swatinem/rust-cache from e18b497796c12c097a38f9edb9d0641fb99eee32 to f0d9c3887740aee45f6153b24b3a6b815192ec16
fix(cli): prevent session hook from inheriting repository dotenv
…c write Widen the two Codex fixes (instructions.rs, hooks_settings.rs) to the whole class: every "stage a sibling temp, rename over the destination" site used a PID-derived name inside a directory the analyzed repository controls, so a committed symlink at that name turned the staging write into a write-through (`fs::write` and SQLite both follow symlinks). New `atomic_fs` helpers create the staging entry with O_CREAT|O_EXCL on a random name via `tempfile`, keep it in the destination's directory so the rename stays atomic, and request 0o666 so the resulting mode follows the umask exactly as `fs::write` did (the tempfile default of 0600 would have made CLAUDE.md / settings.json unreadable to other users of a shared checkout). Sites: instructions (CLAUDE.md/AGENTS.md), .claude/settings.json, .mcp.json, the store .gitignore, `loomweave db backup`, the skill-pack directory swap (staging and backup slots), and the federation `ephemeral.port` marker (tempfile promoted to a runtime dependency of loomweave-federation). Regression tests plant the old predictable name as a symlink to a victim file at each site and assert the victim is untouched and the destination is a regular file; the helper's own test pins umask parity with `fs::write`. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0183ccEmYnCh5Nx2Y6weYfHy
…ironment (ADR-062) `serve` — launched automatically by agent harnesses on any checkout the operator opens — loaded `<cwd>/.env` into its process environment, then (a) spawned `loomweave analyze` (analyze_start), the linked-worktree bootstrap, `git`, and the Filigree/Warpline MCP launchers with that environment, and (b) read LOOMWEAVE_FILIGREE_MCP_COMMAND / LOOMWEAVE_WARPLINE_MCP_COMMAND from it to decide which program to execute. dotenvy only sets variables that are unset, so exactly the normally-unset ones (those overrides, LD_PRELOAD, PYTHONPATH, HTTPS_PROXY) were attacker-fillable: a committed .env chose the program serve ran. #149 closed the hook's instance of this; this closes the class. `.env` is now parsed once into a private map (loomweave_core::dotenv) that only Loomweave's own config-named credential lookups consult — provider api_key_env, Filigree token_env / identity_token_env, RUST_LOG — and the real environment always wins. It never enters the process environment, so no child inherits it and no std::env::var launcher override can be supplied by a checkout, by construction rather than by per-site scrubbing (remove_var is unsafe in edition 2024; the workspace denies unsafe). Behaviour change: variables that only third-party code read from .env (HTTPS_PROXY, SSL_CERT_FILE, …) must now be exported in the shell or the MCP server env block. Pinned by a core test that writes a .env naming a launcher override and LD_PRELOAD, loads the sidecar, and asserts the values are visible to var() but absent from the process environment and from a spawned child; the existing CLI integration tests for .env-supplied RUST_LOG and never-clobber precedence pass unchanged. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0183ccEmYnCh5Nx2Y6weYfHy
…d-imports fix(federation): isolate Filigree MCP Python imports (-I)
fix(mcp): jail LLM source-excerpt reads to the project root
Review of #140 found lines the sweep rewrote that are wrong against the shipped behaviour: - secret-scanning: the LLM master switch is `llm_policy.enabled: false`; `allow_live_provider: false` is overridden by LOOMWEAVE_LLM_LIVE=1 (the gate closes only when both are off, config.rs), and the outcome is ProviderSelection::Disabled, not the recording provider. - getting-started: "every other tool is credential-free" widened a true core-tool claim to all 48; confidence=inferred graph queries, the cost estimator and hosted semantic search are LLM-backed. - requirements: REQ-INTEG-WARDLINE-05's cross-reference label named REQ-INTEG-FILIGREE-04 while linking REQ-FINDING-04. - two archived arch-analysis pages and the archived llm-extraction plan still cited their pre-move paths as live. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0183ccEmYnCh5Nx2Y6weYfHy
…ve-staging fix(cli,federation): exclusive, unpredictable staging for every atomic write
…decar fix(core,cli,mcp): repository .env is a credential sidecar, never environment (ADR-062)
…1.6.0 chore(docs): documentation and repository hygiene sweep for 1.6.0
Lockstep bump across workspace, packaging, Python plugin, fixtures and their sha256 sidecars + authority-note hash tables, mirroring 39f6b43. README status paragraph now reads "Public release: v1.6.1. Local checkout: v1.6.1"; the install-example pins and site badges the docs sweep left at v1.5.1 move to v1.6.1 (README, getting-started, www/, site/). CHANGELOG 1.6.1: security patch — .env credential sidecar (ADR-062), exclusive staging for every atomic write, Filigree MCP launcher -I, LLM source-excerpt jail; CI action refresh; docs sweep; the three Codex PRs closed with tickets. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0183ccEmYnCh5Nx2Y6weYfHy
The Filigree authority (tests/fixtures/contracts/weft/issues-get.json, f1a9681) added a `requires_seeded_state: true` marker to the seeded example — metadata only, no wire-shape change. Re-vendored byte-identical and GOLDEN_BLAKE3 recomputed so the Layer-1 oracle is green with the sibling present (it is skip-clean in CI without it, which is how the drift landed unnoticed). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0183ccEmYnCh5Nx2Y6weYfHy
The previous commit's hash extraction matched no test and wrote an empty pin; this is the recomputed value from the oracle's own Layer-1 check. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0183ccEmYnCh5Nx2Y6weYfHy
The lockfile records the editable plugin's own version; `uv sync --locked` refuses the 1.6.1 pyproject against a 1.6.0 lock (Verify / Python plugin). Mirrors the uv.lock hunk of the 1.6.0 bump (39f6b43) that the first bump commit here missed. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0183ccEmYnCh5Nx2Y6weYfHy
chore(release): bump to 1.6.1 and cut CHANGELOG 1.6.1 — 2026-09-02
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
🔵 Needs a closer look
This is a large release-branch sync with security-sensitive behavior changes (dotenv handling, atomic writes, excerpt path jailing) and a few identified correctness/documentation nits that should be resolved before approval.
Pull request overview
Syncs release/1.6.0 back into main for the v1.6.1 cut, bringing main up to the 1.6.1 security/operational baseline (dotenv sidecar hardening, exclusive atomic writes, MCP launcher isolation, and LLM source-excerpt path jailing), plus the accompanying doc and release-workflow refresh.
Changes:
- Bumps workspace + plugin/package versions to
1.6.1and updates release/docs site copy to match. - Hardens multiple trust boundaries: repository
.envbecomes a read-only credential sidecar; atomic writes use exclusive unpredictable staging; Filigree MCP Python launcher uses-I; LLM excerpt reads are re-jailed at use time. - Refreshes docs structure/links and pins updated GitHub Actions SHAs.
File summaries
| File | Description |
|---|---|
| Cargo.toml | Workspace version bump to 1.6.1. |
| Cargo.lock | Workspace dependency lock updates for 1.6.1. |
| README.md | Updates latest release messaging + install snippets to v1.6.1. |
| .gitignore | Adds additional ignored artifacts (db shm, dist, editor artifacts, etc.). |
| .github/workflows/release.yml | Refreshes pinned action SHAs and rust-cache pin. |
| .github/workflows/deploy-site.yml | Clarifies sole publisher workflow and refreshes pinned action SHAs. |
| www/index.html | Updates marketing copy/version/tool-count and install snippet to v1.6.1. |
| www/tools.html | Updates MCP tool-count copy to 48. |
| www/getting-started.html | Updates install snippet to v1.6.1 and PEP 625 sdist name. |
| www/cli.html | Updates CLI reference (doctor format flag, db backup positional arg). |
| www/README.md | Marks www/ as not deployed; updates tool-count and hub pointers. |
| site/src/pages/index.astro | Updates site copy to v1.6.1 and tool-count. |
| tests/perf/b8_scale_test/results/2026-05-18T0114Z/scratch.txt | Removes stale scratch artifact. |
| .jules/bolt.md | Removes orphaned scratch note. |
| .codex/config.toml | Removes developer-local Codex MCP config. |
| plugins/python/pyproject.toml | Bumps plugin version to 1.6.1. |
| plugins/python/plugin.toml | Bumps plugin manifest version to 1.6.1. |
| plugins/python/uv.lock | Updates lock entry for plugin version 1.6.1. |
| plugins/python/src/loomweave_plugin_python/init.py | Bumps __version__ to 1.6.1. |
| plugins/python/tests/test_server.py | Updates initialize roundtrip test expected version to 1.6.1. |
| plugins/python/tests/test_package.py | Updates package/module/manifest lockstep expectations to 1.6.1. |
| crates/loomweave-cli/Cargo.toml | Bumps crate deps to 1.6.1; adjusts deps (dotenvy removed; tempfile runtime). |
| crates/loomweave-cli/pyproject.toml | Bumps Python package version + plugin pins to 1.6.1. |
| crates/loomweave-cli/src/main.rs | Switches from dotenvy::dotenv() to loomweave_core::dotenv sidecar; updates tracing filter load; excludes hook. |
| crates/loomweave-cli/src/atomic_fs.rs | Adds exclusive unpredictable staging helpers for atomic file/dir replacement. |
| crates/loomweave-cli/src/install.rs | Uses atomic_fs::replace_file for .gitignore write; adds symlink-plant regression test. |
| crates/loomweave-cli/src/instructions.rs | Uses exclusive staging for atomic writes; adds symlink-plant regression test. |
| crates/loomweave-cli/src/mcp_registration.rs | Uses atomic_fs::replace_file for .mcp.json atomic write; adds symlink-plant regression test. |
| crates/loomweave-cli/src/hooks_settings.rs | Uses atomic_fs::replace_file for .claude/settings.json atomic write; adds symlink-plant regression test. |
| crates/loomweave-cli/src/skill_pack.rs | Uses exclusive temp dirs for crash-safe pack swap and backup slot. |
| crates/loomweave-cli/src/serve.rs | Routes credential lookups through loomweave_core::dotenv::var for provider/Filigree config. |
| crates/loomweave-cli/src/doctor.rs | Routes credential lookups through loomweave_core::dotenv::var for auth/provider checks. |
| crates/loomweave-cli/src/config.rs | Routes provider/semantic credential checks through loomweave_core::dotenv::var. |
| crates/loomweave-cli/src/guidance.rs | Routes Filigree credential lookup through loomweave_core::dotenv::var. |
| crates/loomweave-cli/src/sarif.rs | Routes Filigree credential lookup through loomweave_core::dotenv::var. |
| crates/loomweave-cli/src/http_read.rs | Routes credential lookup through loomweave_core::dotenv::var for URL resolution. |
| crates/loomweave-cli/src/analyze.rs | Routes semantic/federation env lookups through loomweave_core::dotenv::var. |
| crates/loomweave-cli/tests/analyze.rs | Updates fixture insert version string to 1.6.1. |
| crates/loomweave-core/Cargo.toml | Adds dotenvy dependency to support sidecar parsing. |
| crates/loomweave-core/src/lib.rs | Exposes new dotenv module. |
| crates/loomweave-core/src/dotenv.rs | Implements .env credential sidecar (load_sidecar, var) and tests. |
| crates/loomweave-core/tests/classifier_coverage.rs | Updates expected plugin version strings to 1.6.1. |
| crates/loomweave-storage/Cargo.toml | Bumps loomweave-core dependency version to 1.6.1. |
| crates/loomweave-storage/tests/fixtures/classifier-coverage-v1.golden.json | Updates pinned plugin_version in golden to 1.6.1. |
| crates/loomweave-storage/tests/fixtures/classifier-coverage-v1.golden.json.sha256 | Updates sha256 sidecar for golden fixture. |
| crates/loomweave-plugin-rust/Cargo.toml | Bumps loomweave-core dependency version to 1.6.1. |
| crates/loomweave-plugin-rust/plugin.toml | Bumps rust plugin manifest version to 1.6.1. |
| crates/loomweave-plugin-fixture/Cargo.toml | Bumps loomweave-core dependency version to 1.6.1. |
| crates/loomweave-federation/Cargo.toml | Makes tempfile a runtime dep; bumps core to 1.6.1. |
| crates/loomweave-federation/src/loomweave_port.rs | Publishes ephemeral port via exclusive staging; adds symlink-plant regression test. |
| crates/loomweave-federation/src/filigree.rs | Launches Filigree MCP with python -I -m ...; adds argv test. |
| crates/loomweave-mcp/Cargo.toml | Bumps internal deps to 1.6.1; updates dev-dep plugin version. |
| crates/loomweave-mcp/src/lib.rs | Adds source-excerpt path re-jail + error-code mapping; routes provider/semantic env reads via dotenv::var. |
| crates/loomweave-mcp/src/tools/summary.rs | Ensures inferred-calls/summary excerpt reads are verified against project root. |
| crates/loomweave-mcp/src/tools/status.rs | Uses project-root verified excerpts for preview and dotenv::var for URL resolution. |
| crates/loomweave-mcp/tests/storage_tools.rs | Adds regression test for refusing catalogue source paths outside the project. |
| crates/loomweave-mcp/tests/issue_detail_conformance_oracle.rs | Updates pinned golden BLAKE3 for fixture changes. |
| docs/README.md | Adds non-normative/internal section and directory purpose notes. |
| docs/archive/README.md | Documents archived analysis/memo locations and rationale. |
| docs/archive/arch-analysis-2026-05-20-2124/00-coordination.md | Updates archived workspace pointer. |
| docs/archive/arch-analysis-2026-05-20-2124/05-quality-assessment.md | Adds archived quality assessment report. |
| docs/archive/arch-analysis-2026-05-20-2124/06-architect-handover.md | Updates archived workspace pointer. |
| docs/archive/arch-analysis-2026-05-20-2124/07-security-surface.md | Adds archived security surface report. |
| docs/archive/arch-analysis-2026-05-20-2124/08-release-readiness.md | Adds archived release readiness report. |
| docs/archive/arch-analysis-2026-05-20-2124/09-test-infrastructure.md | Adds archived test infrastructure report. |
| docs/archive/arch-analysis-2026-05-20-2124/10-dependency-analysis.md | Adds archived dependency analysis report. |
| docs/archive/arch-analysis-2026-06-02-1522/00-coordination.md | Updates references to archived arch-analysis location. |
| docs/archive/implementation-memos/2026-06-05-loomweave-1.0-rename-and-pypi-plan.md | Marks memo archived. |
| docs/archive/implementation-memos/2026-06-11-mcp-surface-audit.md | Marks memo archived. |
| docs/archive/implementation-memos/agent-first-feedback-2026-06-06.md | Marks memo archived. |
| docs/archive/implementation-memos/comprehensive-readonly-audit-2026-06-04.md | Marks memo archived. |
| docs/archive/implementation-memos/comprehensive-readonly-audit-2026-06-04-loomweave-7-agent.md | Marks memo archived. |
| docs/archive/implementation-memos/comprehensive-readonly-audit-2026-06-04-5-agent_current_main.md | Marks memo archived. |
| docs/archive/implementation-memos/instructions-injection-plan.md | Marks memo archived. |
| docs/archive/implementation-memos/loomweave-dogfood-eval-2026-05-29.md | Marks memo archived. |
| docs/archive/implementation-memos/loomweave-dogfood-remediation-2026-05-29.md | Marks memo archived. |
| docs/archive/implementation-memos/phaseB-rename-agent-brief.md | Marks memo archived and updates plan path. |
| docs/archive/implementation-memos/review-sweep-2026-05-29.md | Marks memo archived. |
| docs/archive/working-notes/implementation-arch-analysis-2026-05-20-2124/task-release-federation-docs.md | Updates archived workspace pointer. |
| docs/archive/working-notes/implementation-arch-analysis-2026-05-20-2124/task-python-plugin.md | Updates archived workspace pointer. |
| docs/archive/working-notes/implementation-arch-analysis-2026-05-20-2124/task-clarion-storage.md | Updates archived workspace pointer. |
| docs/archive/working-notes/implementation-arch-analysis-2026-05-20-2124/task-clarion-mcp.md | Updates archived workspace pointer. |
| docs/archive/working-notes/implementation-arch-analysis-2026-05-20-2124/task-clarion-core-fixture.md | Updates archived workspace pointer. |
| docs/archive/working-notes/implementation-arch-analysis-2026-05-20-2124/task-clarion-cli-scanner.md | Updates archived workspace pointer. |
| docs/federation/README.md | Adds federation docs index page. |
| docs/federation/contracts.md | Updates hub pointers from ~/loom to ~/weft. |
| docs/federation/2026-07-12-federation-seam-golden-authority.md | Updates pinned fixture sha references. |
| docs/federation/fixtures/classification.python.json | Updates generator versions to 1.6.1. |
| docs/federation/fixtures/classification.python.json.sha256 | Updates sha256 sidecar for classification fixture. |
| docs/federation/fixtures/filigree-issues-get.json | Adds requires_seeded_state to example metadata. |
| docs/federation/filigree-side/2026-05-19-registry-backend-cross-project-sequencing.md | Fixes relative link path. |
| docs/implementation/README.md | Updates implementation archive index and pointers to new archive locations. |
| docs/implementation/v0.1-plan.md | Updates doc links to 1.0/ paths. |
| docs/implementation/v0.1-publish/ws-a-secret-scanner.md | Updates requirements + arch-analysis link paths. |
| docs/implementation/v0.1-publish/thread-1-pre-publish-blockers.md | Updates requirements/system-design + arch-analysis link paths. |
| docs/implementation/v0.1-reviews/pre-restructure/design-review.md | Updates pointer to canonical detailed-design path. |
| docs/implementation/sprint-1/wp1-scaffold.md | Updates anchoring links to 1.0/ docs. |
| docs/implementation/sprint-1/wp2-plugin-host.md | Updates anchoring links to 1.0/ docs. |
| docs/implementation/sprint-1/wp3-python-plugin.md | Updates anchoring links to 1.0/ docs. |
| docs/implementation/sprint-2/b2-class-module-entities.md | Updates anchoring links to 1.0/ docs. |
| docs/implementation/sprint-2/b3-contains-edges.md | Updates anchoring links to 1.0/ docs. |
| docs/implementation/sprint-2/b4-calls-edges.md | Updates anchoring links to 1.0/ docs. |
| docs/implementation/v1.0-tag-cut/README.md | Updates arch-analysis link to archived path. |
| docs/implementation/v1.0-tag-cut/gap-register.md | Updates arch-analysis link to archived path. |
| docs/implementation/qa/2026-06-10-rust-plugin-scale-qa.md | Updates plan link path. |
| docs/implementation/handoffs/2026-07-12-plainweave-federation-seam-fixtures.md | Updates producer version and pinned shas. |
| docs/implementation/handoffs/2026-05-18-phase3-subsystems-handoff.md | Updates arch-analysis + requirements link paths. |
| docs/loomweave/README.md | Adds proposals folder pointer; clarifies review archive locations. |
| docs/loomweave/adr/ADR-062-dotenv-credential-sidecar.md | Adds ADR-062 documenting .env credential sidecar decision. |
| docs/loomweave/adr/ADR-055-external-sqlite-federation-read-contract.md | Fixes Extends links to renamed ADR filenames. |
| docs/loomweave/adr/ADR-050-plugin-lifecycle-deadlines.md | Updates implementation plan link path. |
| docs/loomweave/adr/ADR-044-read-api-ephemeral-port-publication.md | Notes path relocation by ADR-046 in status line. |
| docs/loomweave/adr/ADR-040-semantic-search-embeddings.md | Notes path relocation by ADR-046 in status line. |
| docs/loomweave/adr/ADR-035-operational-tuning-discipline.md | Updates archived arch-analysis links. |
| docs/loomweave/adr/ADR-030-on-demand-summary-scope.md | Updates doc links from v0.1/ to 1.0/. |
| docs/loomweave/adr/ADR-028-edge-confidence-tiers.md | Updates doc link from v0.1/ to 1.0/. |
| docs/loomweave/adr/ADR-022-core-plugin-ontology.md | Updates doc links from v0.1/ to 1.0/. |
| docs/loomweave/adr/ADR-021-plugin-authority-hybrid.md | Notes amendment; updates doc links to 1.0/. |
| docs/loomweave/adr/ADR-018-identity-reconciliation.md | Updates doc links from v0.1/ to 1.0/. |
| docs/loomweave/adr/ADR-017-severity-and-dedup.md | Updates doc links from v0.1/ to 1.0/. |
| docs/loomweave/adr/ADR-016-observation-transport.md | Updates doc links from v0.1/ to 1.0/. |
| docs/loomweave/adr/ADR-015-wardline-filigree-emission.md | Updates detailed design link to 1.0/. |
| docs/loomweave/adr/ADR-014-filigree-registry-backend.md | Updates system design link to 1.0/. |
| docs/loomweave/adr/ADR-013-pre-ingest-secret-scanner.md | Updates system design/requirements links to 1.0/. |
| docs/loomweave/adr/ADR-012-http-auth-default.md | Updates system design link to 1.0/. |
| docs/loomweave/adr/ADR-011-writer-actor-concurrency.md | Updates detailed design/requirements/system-design links to 1.0/. |
| docs/loomweave/adr/ADR-007-summary-cache-key.md | Updates detailed design/requirements links to 1.0/. |
| docs/loomweave/adr/ADR-006-clustering-algorithm.md | Updates doc links to 1.0/. |
| docs/loomweave/adr/ADR-005-loomweave-dir-tracking.md | Updates detailed design link to 1.0/. |
| docs/loomweave/adr/ADR-004-finding-exchange-format.md | Updates doc links to 1.0/. |
| docs/loomweave/adr/ADR-003-entity-id-scheme.md | Updates doc links to 1.0/. |
| docs/loomweave/adr/ADR-002-plugin-transport-json-rpc.md | Updates doc links to 1.0/. |
| docs/loomweave/adr/ADR-001-rust-for-core.md | Updates doc links to 1.0/. |
| docs/loomweave/1.0/README.md | Adds operations + reviews pointers. |
| docs/loomweave/1.0/operations.md | Updates ADR-011 link to renamed ADR filename. |
| docs/loomweave/1.0/requirements.md | Fixes SARIF requirement cross-reference; updates store-path verification snippet. |
| docs/loomweave/1.0/reviews/gap-analysis-2026-05-24.md | Updates sprint scope amendment + ADR link paths. |
| docs/loomweave/1.0/reviews/v1.0-publish-checklist-2026-05-24.md | Fixes relative links after folder moves. |
| docs/operator/README.md | Adds operator doc index entries for clustering/HTTP read API and release runbooks. |
| docs/operator/clustering.md | Updates MCP tool names (subsystem_member_list, entity_summary_get). |
| docs/operator/guidance.md | Updates MCP tool names (entity_guidance_list, entity_summary_get). |
| docs/operator/secret-scanning.md | Updates tool name (entity_summary_get) and LLM disable guidance to llm_policy.enabled. |
| docs/operator/runtime-topology.md | Updates v0.1 wording to 1.x. |
| docs/operator/language-support.md | Updates Python plugin status wording to 1.x. |
| docs/suite/README.md | Updates hub pointer to ~/weft and adds glossary pointer stub link. |
| docs/suite/weft.md | Updates doctrine hub pointer paths to ~/weft. |
| docs/suite/glossary.md | Updates glossary hub pointer paths to ~/weft and store path example. |
| docs/suite/briefing.md | Updates hub pointer paths and docset links from v0.1 to 1.0. |
| docs/product/decisions/0010-bank-1.4.1-public-surface-tags.md | Updates archived plan link path. |
| docs/superpowers/plans/archive/2026-06-24-loomweave-llm-extraction.md | Adds archival note and updates internal reference path. |
| docs/superpowers/plans/archive/2026-07-10-public-surface-tags-for-plainweave.md | Adds archival note header. |
| docs/superpowers/plans/archive/2026-06-11-rust-plugin-gold.md | Adds archival note header. |
| docs/superpowers/plans/archive/2026-06-10-rust-plugin-scale-qa.md | Adds archival note header. |
| docs/superpowers/plans/archive/2026-06-10-rust-plugin-edges.md | Adds archival note header. |
| docs/superpowers/plans/archive/2026-06-10-plugin-host-hardening.md | Adds archival note header. |
| docs/superpowers/plans/archive/2026-06-09-rust-language-plugin-phase-1b.md | Adds archival note header. |
| docs/superpowers/plans/archive/2026-06-08-rust-language-plugin-phase-1a.md | Adds archival note header. |
| packaging/rust-plugin-dist/Cargo.toml | Bumps dist crate version and pinned dependency version to 1.6.1. |
| packaging/rust-plugin-dist/Cargo.lock | Updates lockfile for 1.6.1 and dependency changes. |
| packaging/rust-plugin-dist/pyproject.toml | Bumps rust plugin wheel version to 1.6.1. |
| packaging/rust-plugin-dist/wheel-data/data/share/loomweave/plugins/rust/plugin.toml | Bumps packaged rust plugin manifest version to 1.6.1. |
| crates/loomweave-mcp/tests/storage_tools.rs | Adds invalid-path regression test for jailing excerpt reads. |
| crates/loomweave-mcp/src/lib.rs | Adds normalize/jail step in verified_source_excerpt and richer excerpt error enum. |
Review details
- Files reviewed: 158/172 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| let path = | ||
| normalize_source_path(project_root, path).map_err(|_| SourceExcerptError::InvalidPath { | ||
| entity_id: entity.id.clone(), | ||
| })?; | ||
| let Ok(bytes) = std::fs::read(path) else { | ||
| return Ok(String::new()); | ||
| }; |
| let envelope = call_tool( | ||
| &state, | ||
| "summary", | ||
| json!({"id": "python:function:demo.entry"}), | ||
| ) |
…lob c9efff0) 6a7c75e re-vendored `requires_seeded_state: true` from a transient Filigree state; Filigree withdrew that parity-harness flag after review because the fixture is a normative cross-repo contract, and its authority (tests/fixtures/contracts/weft/issues-get.json @ ce7b9a0, merging as 3.2.0) is byte-identical to the original blob c9efff0. Restore that blob and the original GOLDEN_BLAKE3 pin; Filigree's reverse drift check against this copy goes green. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0183ccEmYnCh5Nx2Y6weYfHy
…lden test(federation): restore the normative Filigree issues-get golden
Brings
mainup torelease/1.6.0at the 1.6.1 cut (#156), mirroring #141 for 1.6.0. Thev1.6.1tag is placed on this merge commit sorelease.yml's on-main assertion holds.Contents: security patch 1.6.1 —
.envcredential sidecar (ADR-062, #155), exclusive staging for every atomic write (#154), Filigree MCP launcher-I(#152), LLM source-excerpt jail (#153), session hook never parses.env(#149); CI action refresh (#105–#108, #144); docs sweep (#140); Filigree golden re-vendor. See CHANGELOG 1.6.1.🤖 Generated with Claude Code