Skip to content

perf(security-issue-sync): read conditional Step 1 sub-steps only when they apply - #1998

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:perf/issue-sync-gather
Nov 5, 2026
Merged

potiuk merged 1 commit into
apache:mainfrom
potiuk:perf/issue-sync-gather

Conversation

@potiuk

@potiuk potiuk commented Nov 5, 2026

Copy link
Copy Markdown
Member

Summary

  • Moves three conditional Step 1 sub-steps of security-issue-sync out of gather.md into siblings, byte for byte. gather.md drops from about 19k to about 13k tokens (estimates, characters ÷ 4).
  • Keeps the headings, each with a pointer that states its condition, so anchors and surface hashes do not change.
  • Adds a pointer-routing-gather eval step.
Sub-step New file Read when ~Tokens
1e CVE record reviewer comments cve-record-comments.md a CVE is allocated 3.7k
1g closed-tracker publication check closed-tracker-check.md closed and announced 1.5k
1h release-vote detection release-vote-detection.md release_vote_gating is true 0.9k

An open tracker with no CVE saves about 6k tokens, and one with a CVE about 2.3k.
A closed announced tracker has a CVE too, so it only skips 1h.

1d, the 8k signal table, stays: it is a judgement-heavy lookup with seven eval cases.

Type of change

  • Skill change (.claude/skills/<name>/) — eval fixtures updated below

Test plan

  • prek run --all-files --skip workspace-pytest passes, including lychee
  • workspace-pytest passes for the changed files
  • No surface_hash or heading changed
  • New pointer-routing-gather step: 7/7 on the real skill; with the pointers deleted, all 5 cases that need a file fail and the 2 that need none pass
  • Full security-issue-sync suite on the rebased tree: 59/60, see below

The one failure. step-1d-signals/case-4-title-strip-too-short failed once on its prose notes field: the judge said the agent reached the same conclusion but stated the rule differently.
The 1d section and that step's fixtures are byte-identical to the last all-green run, and the case then passed 3/3 on repeat, so this reads as nondeterminism rather than a regression.

RFC-AI-0004 compliance

  • Vendor neutrality — placeholders kept; the check-placeholders hook passes

No new mutation, host access, outbound message or LLM routing.

Linked issues

None.

Notes for reviewers

  • No eval reads the moved text itself. pointer-routing-gather shows an agent would reach these files, not how it acts once there. The byte-identical move is what protects the content.
  • pointer-routing-gather records a stated decision. The agent says which files it would open; it does not run with file tools.
  • Single model. No cross-model pass and no adversarial review were run.
  • tools/spec-loop/.last-sync is not bumped. The lifecycle spec is updated by hand here.

🤖 Generated with Claude Code

…n they apply

Sub-steps 1e, 1g and 1h of gather.md each have one clear condition, yet
every sync loaded them. Move their bodies byte-for-byte to sibling files.
The headings stay, each with a pointer that states the condition, so
anchors and surface hashes do not change.

An open tracker with no CVE reads about 6k fewer tokens, and one with a
CVE about 2.3k.

Add a pointer-routing-gather eval step: no existing eval reads the moved
sub-steps, so it is what fails if a pointer stops working.

Generated-by: Claude Opus 5
@potiuk potiuk added the family:security security-* skills label Nov 5, 2026
@potiuk
potiuk enabled auto-merge (squash) November 5, 2026 00:54
@github-actions github-actions Bot added family:tools tools/* family:docs Docs, MISSION.md, READMEs capability:intake Import external signal + sync tracker state substrate:framework-dev Tool substrate: build / validate / eval the framework itself family:dev Repo dev: .asf.yaml, spec-loop specs, Node manifests, .claude/settings.json labels Nov 5, 2026
@potiuk
potiuk merged commit 9b0cedb into apache:main Nov 5, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

capability:intake Import external signal + sync tracker state family:dev Repo dev: .asf.yaml, spec-loop specs, Node manifests, .claude/settings.json family:docs Docs, MISSION.md, READMEs family:security security-* skills family:tools tools/* substrate:framework-dev Tool substrate: build / validate / eval the framework itself

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant