fix(cli): resolve charter drift/audit adopter friction (closes #207, closes #208)#299
Merged
Merged
Conversation
…loses #208) Adopter feedback from lnxdrive (CHARTER-01-road-to-v0-1-0-alpha-1): #207 — charter drift: - The Charter template's ## Verification block instructed the positional-range syntax `charter drift CHARTER-NN origin/main..HEAD` (rejected by the CLI) and wrapped it in stale "when Phase 2 ships" language. Fixed to `--range origin/main..HEAD` and dropped the Phase-2 conditionals (EN/es/zh-CN). - `charter status` no longer advertises drift-check and telemetry as "Phase 2 features (not yet available)… (planned cli-3.7.0)" — both shipped long ago. #208 — charter audit --prepare under-coverage: - On a multi-batch Charter whose earlier phases already merged to the base branch, the default range origin/main..HEAD silently excludes the merged commits. `--prepare` now detects completed batches in the Charter body / referenced AILOGs' Batch Ledgers and, when no explicit --range was given, warns that a phase-scoped audit may under-cover and to pass an explicit range. - Documented the pitfall in `charter audit --help`, CLI-REFERENCE (EN/es/zh-CN), and the straymark-audit-prompt skill (4 variants, codex regenerated). Reuses cli::ailog::{parse_batch_ledger, BatchEntry}. No version bumps or tags (combined release with #215 prepared separately). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Adopter feedback from lnxdrive (
CHARTER-01-road-to-v0-1-0-alpha-1). Both verified unaddressed against current code before fixing. Consolidating before the combined release that already carries #215.#207 —
charter drift## Verificationblock instructed the positional rangecharter drift CHARTER-NN origin/main..HEAD(the CLI rejects it) wrapped in stale "when Phase 2 ships" language. Now--range origin/main..HEAD, Phase-2 conditionals dropped (EN/es/zh-CN).charter statuslists drift as unavailablecharter driftandcharter closeshipped ~16 versions ago.#208 —
charter audit --preparesilent under-coverageOn a multi-batch Charter whose earlier phases already merged to the base branch, the default range
origin/main..HEADsilently excludes the merged commits, so a phase-scoped audit prompt under-covers.--preparenow detects completed batches in the Charter body / referenced AILOGs' Batch Ledgers (reusingcli::ailog::{parse_batch_ledger, BatchEntry}) and, when no explicit--rangewas given, warns that the audit may under-cover and to pass an explicit range. With--rangethe warning is suppressed.charter audit --help, CLI-REFERENCE (EN/es/zh-CN), and thestraymark-audit-promptskill (4 variants, codex regenerated).The issue's alternative — defaulting the lower bound to the Charter's first commit — was not taken (it would change the default for all audits and needs Charter metadata); the warning + docs make the silent case loud without that risk.
Scope
commands/charter/audit.rs(warning +completed_batch_numbers),commands/charter/status.rs(remove stale block),main.rs(--rangehelp).straymark-audit-promptskill (claude/gemini/agent + codex).Verification
cargo test— full workspace green (348 lib + integration; 2 new tests: status omits stale block; audit warns on multi-batch without--rangeand stays silent with it).cargo build --releaseclean;cargo clippyno new warnings in touched files;gen_codex_skills --checkin sync.charter statusno longer prints "not yet available";charter drift … --range HEAD~1..HEADaccepted;charter audit --prepareon a Charter with a completed batch warns without--range, silent with it.🤖 Generated with Claude Code