Repository navigation
perf(build,ship): scope local gates to the change's impact, defer the rest to CI - #5
Merged
Merged
Conversation
… rest to CI What: add scripts/impact-scope.py (dev and factory), which lists the files changed since a base, the packages that own them, and a verdict: docs, impacted, or full (a lockfile, root config, toolchain pin, or CI workflow changed). ci-parity.md now scopes every local gate by that verdict: build's wave gate runs the Validation block at the wave's impact, the gauntlet and remediation re-runs at the fixes' impact, and the CI-parity runs at the branch's impact, recording what lies outside it as deferred to CI. A PR that carries a deferred check opens as a draft and is marked ready once its required checks are green; a run that opens no PR still runs the full set. Why: on a grown repository the full merge gate ran up to three times per change (wave gates, build's parity run, ship's parity run) and dominated wall clock, while the PR's CI runs it again anyway. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CJNyTNFr77RZj8omURZxyA
…om it
What:
- skill-metrics.py end now measures friction signals from the run's
transcript (interrupts, denied and failed tool calls, the user's own
turns, and runs and failures of each deterministic checker, each with
its line), adds them to the metrics row, and appends a journal entry to
~/.dev-workflow/memory/ (DEV_MEMORY_DIR) with up to three narrated
--friction lines kept apart from the measured ones. Opt out with
DEV_MEMORY_DIR=off or "memory": {"enabled": false} in .dev/config.json.
- dev/scripts/claims.py keeps cited claims about the skills: add accepts
a batch only when every quote is found verbatim at the transcript line
or journal entry it cites, rejects credential shapes, and rebuilds the
per-skill pages, threads.yaml, and progression.md from the records.
Retract keeps the claim on record so its evidence cannot return;
resolve records the fixing commit, and a later claim reopens the
thread.
- The new reflect skill consolidates pending runs with read-only
subagents, loops claims.py add until clean, ranks threads, and writes a
scope brief with an eval case from the real run. It never edits a
skill.
- scope, scope-review, build, and ship pass --friction lines per the new
run-journal.md reference.
- Fixed a crash in end when every earlier ledger row logged zero tokens.
Why:
The plugin improved only when someone noticed friction by hand. This
borrows the Muse memory system's cheap parts: live capture, source-cited
consolidation, derived pages, recall with evidence, and forgetting by
retraction. Its prompt_tainted: false rule is kept as no self-edits,
since the factory dream loop that deployed its own revisions was
removed.
Considered: a per-repository store, opt-in capture, and an embeddings
index, recorded with the chosen path in docs/decisions.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CJNyTNFr77RZj8omURZxyA
What: add dev/scripts to package.json's files, and extend validate.sh's P01 check so every plugin script a dev skill references as ../../scripts/X must exist and sit under a shipped path. Why: the Pi package shipped dev/skills and dev/references only, so on Pi the skills' calls to impact-scope.py, skill-metrics.py, architecture-check.py, and claims.py pointed at files that were never installed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CJNyTNFr77RZj8omURZxyA
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What: add scripts/impact-scope.py (dev and factory), which lists the files
changed since a base, the packages that own them, and a verdict: docs,
impacted, or full (a lockfile, root config, toolchain pin, or CI workflow
changed). ci-parity.md now scopes every local gate by that verdict: build's
wave gate runs the Validation block at the wave's impact, the gauntlet and
remediation re-runs at the fixes' impact, and the CI-parity runs at the
branch's impact, recording what lies outside it as deferred to CI. A PR that
carries a deferred check opens as a draft and is marked ready once its
required checks are green; a run that opens no PR still runs the full set.
Why: on a grown repository the full merge gate ran up to three times per
change (wave gates, build's parity run, ship's parity run) and dominated
wall clock, while the PR's CI runs it again anyway.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01CJNyTNFr77RZj8omURZxyA