feat: harden block updates, routing, and provenance#1
Merged
Conversation
Add explicit skill refresh and ownership markers with guarded legacy migration. Route project areas to exact records, separate human direction from factual evidence, and document stronger durable forms. Add MIT licensing and paired behavior-evaluation guidance.
…ding - stop a marked update when another tool's marker line sits inside the PCR region, instead of replacing across it (skill + setup-update record) - seeding drafts records only, never creates tests, lints, or CI - the dogfood live test of the update path only works once a block change lands on main; before that the installed skill would revert it - section and file stamp scopes require the stamp on its own line (block x4, README stamp section, zh translation, one-bit-stamp record)
One-off lint runs don't survive the session; per records-vs-enforcement, the machine-checkable part belongs in the project's own CI. The skill still only suggests — nothing in PCR requires tooling to adopt.
There was a problem hiding this comment.
Pull request overview
This PR tightens the PCR methodology’s update/migration semantics by bounding the canonical adoption block with explicit ownership markers, clarifying the “installed skill is a snapshot” update boundary, and refining provenance (VOUCHED) to mean explicit human acceptance of direction with clearer scope rules. It also updates the worked-example records map and supporting records to emphasize retrieval routing (to exact headings) and “strongest durable form” guidance, while keeping English/Chinese docs in sync.
Changes:
- Add
<!-- PCR:START -->/<!-- PCR:END -->markers and update/pcr-setupguidance to safely replace only the owned region (and stop on ambiguous legacy/malformed cases). - Reframe provenance to “explicit human acceptance of project direction” with explicit line/section/file scoping rules and clearer treatment of legacy/new stamps.
- Update routing and durability guidance (map-to-heading routes, “records vs enforcement”), and sync README + translation + dogfood docs.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| skills/pcr-setup/SKILL.md | Updates setup/update procedure to be marker-bounded, migration-safe, and explicit about skill snapshot vs methodology updates. |
| README.md | Adds marker-bounded canonical block, clarifies update steps, and refines provenance/routing guidance in the methodology. |
| README.zh-CN.md | Syncs Chinese doc with updated English methodology text and marker/update semantics. |
| LICENSE | Adds an MIT license file. |
| CONTRIBUTING.md | Adds a concrete procedure for evaluating agent-facing changes via paired task runs. |
| AGENTS.md | Dogfoods the marked canonical block and updates “canonical copies” invariants to include markers + translation. |
| .agents/docs/README.md | Reshapes the worked-example map into “When changing / Read / Why” routes (including heading-level routing). |
| .agents/docs/setup-update.md | Updates the update mechanism record to require a fresh skill + marked block replacement, including legacy migration rules. |
| .agents/docs/records-vs-enforcement.md | Introduces a new record describing where constraints belong (tests/types/CI vs prose records). |
| .agents/docs/the-map.md | Updates map rationale to focus on retrieval cost and heading-level routes + breadcrumbs. |
| .agents/docs/starter-set.md | Updates starter set positioning to “recommended, not required” and aligns with durability guidance. |
| .agents/docs/one-bit-stamp.md | Refines stamp meaning to explicit acceptance of direction and clarifies scope/legacy handling. |
| .agents/docs/freshness.md | Reframes freshness as multi-signal (routes + evidence + distillation), not date-only detection. |
| .agents/docs/existing-docs.md | Updates enrollment guidance to include heading-level routes and references “records vs enforcement”. |
| .agents/docs/distill-draft.md | Updates distillation taxonomy to include route drift, unsupported facts, and “plausible aging” vs mechanical certainty. |
| .agents/docs/unattended-runs.md | Aligns unattended-run guidance with “stronger durable form” and enforcement placement. |
| .agents/docs/conventions-not-tooling.md | Clarifies spec boundaries (no PCR-specific tooling) while allowing two HTML markers for safe updates. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
Summary
pcr-setupsnapshot/update boundary explicit.VOUCHEDto explicit human direction, define stable line/section/file scopes, preserve legacy scope, and distinguish newly claimed stamps from inherited target-branch state.Why
Dogfooding existing adopters exposed four gaps: re-running a stale installed skill could not obtain the latest block; unmarked legacy blocks could contain project-specific rules; file count did not predict retrieval difficulty for long records; and human approval was being conflated with factual proof. Some durable records also cited temporary or missing evidence.
Compatibility
Manual adoption still requires only Markdown and the two HTML ownership comments. This does not add a
/pcr-distillskill or require PCR-specific CI, parsers, schemas, or other adopter tooling. Legacy undated and legacy-position stamps remain valid under their project-defined scope until a human re-vouches or approves migration.Validation
git diff --checkpass.Autonomous workrule survives outside both PCR and Vite+ managed regions, while its project-defined per-decision stamp scope remains unchanged.Remaining validation
The paired current-vs-candidate agent task experiment described in
CONTRIBUTING.mdhas not been run yet. This PR fixes observed consistency and migration failures, but does not claim measured behavior improvement until those runs exist.