Skip to content

chore: untrack generated agent instruction files (CLAUDE.md, AGENTS.md)#6

Closed
tachyon-beep wants to merge 2 commits into
mainfrom
chore/untrack-agent-instruction-files
Closed

chore: untrack generated agent instruction files (CLAUDE.md, AGENTS.md)#6
tachyon-beep wants to merge 2 commits into
mainfrom
chore/untrack-agent-instruction-files

Conversation

@tachyon-beep

Copy link
Copy Markdown
Collaborator

Untracks CLAUDE.md and AGENTS.md — both are filigree-generated agent
instruction files (carrying the <!-- filigree:instructions:vX.Y.Z:hash -->
marker) that the session-start hook regenerates on every run. Tracking them
produces churn-only diffs whenever the filigree version bumps (e.g. the
v3.0.0rc3 change that left them dirty in the working tree).

They are already listed in .gitignore (lines 22–23), but git keeps
tracking files that were committed before being ignored — so the ignore had no
effect until now. This git rm --cached makes it take hold.

  • Files remain on disk for local use and continue to be regenerated by the hook.
  • No .gitignore change needed (already present).
  • Mirrors PR chore: untrack local integration config from legis #5's untracking of local integration config (.mcp.json, loomweave.yaml, wardline.yaml).

🤖 Generated with Claude Code

These are filigree-generated agent instruction files (carrying the
`<!-- filigree:instructions:... -->` marker) regenerated by the session-start
hook on every run, so tracking them produces churn-only diffs as the filigree
version bumps. They are already listed in .gitignore; untrack them so the
ignore actually takes effect (git keeps tracking files added before they were
ignored). They remain on disk for local use and continue to be regenerated.

Mirrors PR #5's untracking of local integration config.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 806bbb80f8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread AGENTS.md
@@ -1,119 +0,0 @@
<!-- filigree:instructions:v3.0.0rc1:b661cb3d -->

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Add ignore entries before untracking generated files

When the session-start hook regenerates AGENTS.md or CLAUDE.md, these paths are no longer tracked but are also not ignored: I checked .gitignore in this commit and it ends at .loomweave/loomweave.lock, and git check-ignore -v AGENTS.md CLAUDE.md returns no match. In that normal regeneration scenario the files will show up as untracked, so this does not actually eliminate the churn-only dirty working tree and makes accidental recommits likely; add explicit ignore patterns before removing them from the index.

Useful? React with 👍 / 👎.

Adds the ignore entries that make the prior untracking stick — without these,
the session-start hook's regenerated copies would show up as untracked and
could be re-added.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@tachyon-beep tachyon-beep deleted the chore/untrack-agent-instruction-files branch June 6, 2026 08:00
tachyon-beep added a commit that referenced this pull request Jun 7, 2026
hooks.py re-encoded the marker format with its own regex
(<!-- legis:instructions:(v[^:]+:[0-9a-f]+) -->), independently of install.py,
which builds the marker and owns INSTRUCTIONS_MARKER. A change to the marker
spacing or token shape in the writer would silently desync the reader, breaking
the SessionStart / MCP-boot drift refresh — the hook's entire job.

Move the token-extraction helper (_extract_marker_token) into install.py next
to _build_instructions_block / _marker_token. Its regex is now re.escape'd from
the INSTRUCTIONS_MARKER constant (the prefix can't desync) and captures the
token opaquely as \S+ rather than re-encoding the v{version}:{hash} shape, so a
future token-shape change needs no edit here. hooks.py imports it; its now-unused
`re` import is dropped.

Relocate the marker-token tests to test_install.py (the writer's home) and
strengthen the round-trip to parse the ACTUAL writer output:
_extract_marker_token(_build_instructions_block()) == _marker_token(). A future
marker-format change now fails this loudly instead of silently desyncing.

Full suite 699 passed, ruff (src+tests) + mypy clean, coverage floors hold.

rc4 review finding #6 (legis-bd49bb8048).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
tachyon-beep added a commit that referenced this pull request Jun 8, 2026
…oute root (opp #6)

scan_route returned `{outcome: ROUTED, routed:[...]}` with no top-level posture
field, so an agent relaying "governance passed" could not tell a keyless
dev-grade pass (unverified/dirty) from a CI-signed `verified` pass — the posture
was only buried in each routed record's provenance, and absent entirely when
nothing routed. Same vacuous-green fidelity gap as wardline W2.

- `route_wardline_scan` now returns `RoutedScan(routed, artifact_status)`
  instead of a bare list, surfacing the scan-level `artifact_status` that
  `verify_wardline_artifact` already computes
- both surfaces echo it at the response root: the MCP `scan_route` tool and the
  HTTP `/scan-route` adapter (identical contract)
- new MCP test asserts a keyless unsigned scan echoes `artifact_status:
  "unverified"` at the top level; the exact-shape routing test gains the field

Closes gap-analysis opp #6.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant