docs: record design revision 2 for adapter-bounded external dependencies - #20
Merged
Merged
Conversation
Record the owner's dependency decision of 2026-09-28 as design revision 2, on the owner's direction of 2026-09-30, with its reviewed Korean counterpart, and reconcile the normative documents with it. Living text is updated in place (AGENTS.md, README.md, the design reference, the milestone and planning indexes). The dated decision records (ADR-006's D3 and the D3 bullet of the CodeSpace integration specification) keep their wording and gain dated annotations. Hold notices are amended only to name the superseded dependency statement. README.md:49 is an additional hit found by the repository-wide search. No code, dependency, pin, gate, CI or test changes; nothing is selected and the CS-RG hold stays in force. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The CI policy test test_every_tracked_path_is_classified requires every tracked path to be classified. The first pull_request run of this PR (36725816252) failed closed on docs/design-revision-2.md. Add that path to the normative class, next to design revision 1, under the owner's narrowly scoped authorization of 2026-09-30. No other policy entry, workflow, planner behaviour, test or suite changes. Co-Authored-By: Claude Opus 5.5 <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.
Summary
This PR records the owner's dependency decision as design revision 2 and reconciles DevGuard's normative documents
with it. Documentation only.
explicit adapter boundaries, with reviewed, immutable source identities and flexible pins where justified.
"prepare"). The PR is prepared for review and is not merged without the owner's exact-head approval.
Revision 2 (
docs/design-revision-2.md, with its reviewed Korean counterpart) states that:reviewed, immutable pins;
types;
scripts/validate.pychanges only in the reviewed PR that adds the first realadapter component and tests its boundary (gate change G). Until then it rejects every
codex-andcodespace-package;
and the CS-RG hold stays in force.
The revision states the adopted pin policy normatively: candidate classes, same- and separate-executable identity,
qualification, divergence and rollback. Section 4 of the W0–W2 packet is cited as provenance only.
The PR also classifies the new file in
scripts/ci-policy.json. That is one entry, added under a narrowly scoped ownerauthorization; see "CI policy classification" below.
How existing text is treated
This follows the owner's direction for this PR:
AGENTS.md,README.md,docs/design.md,docs/milestones.md,docs/planning/README.md, and the living parts ofdocs/planning/decisions.md.the D3 bullet of
docs/planning/codespace-integration.md. Each gets a dated annotation that revision 2 supersedes theCodex-free restriction prospectively.
to name the dependency statement that revision 2 supersedes and to say it is no longer current. The suspension itself
is unchanged.
Every hit of the repository-wide search
Line numbers are at
main4898259.Updated in place (living text)
AGENTS.md:3: the revision list now names revision 2.AGENTS.md:7(W0–W2 packet §5, row 1): the Codex-free bullet now states the adapter-bounded policy, and describesthe gate as it behaves today.
docs/design.md:18anddocs/ko/design.md:16(row 2): the rationale is replaced; its still-true first clause iskept. The revision links at
:5–:6and the hold notice at:3are updated to match.docs/planning/README.md:40and Korean:41(row 6): the Codex-free clause is replaced. The reference date (:5),the reading order (
:13; Korean table row:14) and the hold notice (:3) are updated.docs/milestones.md:5(row 6).README.md:49: an additional hit, not in packet §5. It is living, normative text that directly conflicted withthe settled policy. No other README text is changed.
docs/planning/decisions.md, living parts: the hold notice (:3), the reference date (:5), a baseline row after:19, and the list of applied revisions (:24). The same in the Korean counterpart.Wording kept, dated annotation added (dated decision records)
docs/planning/decisions.md:106(ADR-006 D3 row) and:112(the dependency-boundary paragraph); Korean:116and:122(row 4). The ADR-006 section notice (:96; Korean:106) is amended.docs/planning/codespace-integration.md:176(the D3 bullet), Korean:184(row 5). The notices at:3and:170(Korean
:3and:178) are amended.Unchanged, because still true
README.md:41:devguard-core"contains no CodeSpace or Codex dependency". Revision 2 keeps the authority core freeof them.
AGENTS.md:6: CodeSpace/Codex types stay outside the authority core.docs/design.md:84and:88,docs/planning/README.md:61,docs/planning/decisions.md:17,docs/planning/codespace-integration.md:5, and theirKorean counterparts.
docs/design.md:80;docs/planning/decisions.md:18,:44,:100,:104,:110;docs/planning/codespace-integration.md:20,:28,:33,:43,:54,:55,:133,:172; and their Korean counterparts.docs/planning/verification.md:16,:94,:236;docs/planning/pr-delivery.md(CSP-D04 and branch names);docs/planning/milestones/P1-RECOVERY.md:15.Not edited, by instruction
docs/design.ko.md: the approved bytes.docs/design-revision-1.mdand its Korean counterpart: a dated revision. This covers D3 at:27,:107,:565-599,:661and:836.docs/planning/milestones/CS-RG.md:77and its Korean counterpart at:73: left until CS-RG is re-planned.NOTICE: still true.scripts/validate.py:157: the gate; it changes only with gate change G.docs/handoff/records.Unrelated
.gitignore:2,AGENTS.md:11andREADME.md:43: these refer to the local.codexsettings directory.codex/branch names.CodeSpace (counterpart PR)
docs/codex-reuse.md:78, Korean:96(row 10): the wording is kept and a dated annotation is added.docs/upstream-update.mdand its Korean counterpart (row 11): a dated addition.docs/codex-reuse.md:38: CodeSpace's own core crates.docs/devguard-integration.md:80and:139,docs/architecture.md:62,docs/execution-substrate.md:89:revision-1 facts, not Codex-free rules.
.github/notes/records.What does not change
Cargo.lock, pin, gate, contract, wire, journal, workflow, planner behaviour, test, suite,service or credential.
docs/design.ko.md,docs/design-revision-1.mdand its Korean text,docs/planning/milestones/CS-RG.mdand itsKorean text,
NOTICE,docs/contracts.md,scripts/validate.pyand the dateddocs/handoff/records.CI policy classification (one entry, owner-authorized)
36725816252 on head
637627e, failed.python3 -B -m unittest discover -s scripts -p 'test_ci_*.py') requires everytracked path to be classified, and
test_every_tracked_path_is_classifiedrejected the newdocs/design-revision-2.md.locally on
637627e.changes: in this PR only, add
docs/design-revision-2.mdto thenormativeclass ofscripts/ci-policy.json,immediately next to
docs/design-revision-1.md.9d223bbadds exactly that entry. No workflow logic, planner behaviour, test, suite or otherpolicy entry changes.
feed.
fullprofile, because it changesscripts/**and a planning input.Verification
Current head
9d223bbd3529d6996fb8ebabeedae5458d31f498, based onmain4898259. Output was written outside theworktree.
python3 -B -m unittest discover -s scripts -p 'test_ci_*.py', the Plan job's policy verificationpython3 scripts/ci_plan.py --base origin/main --head HEADfull, reasonsfull-path:scripts/**andplanning-changed; 15 paths: 1 full, 14 normative, 0 unclassifiedpython3 scripts/validate.py --stages whitespace --diff-base origin/mainpython3 scripts/validate.py, the complete DG-0 validator, with Rust 1.95.0, one Cargo job and one test threadtoolchain_matches: truepython3 scripts/check_docs.pygit diff --checkFirst head
637627e. The complete DG-0 validator had passed locally (318 tests, 714 s), but the CI policy unit testswere not run before the PR was opened. Its PR run failed as described above.
python3 scripts/check_docs.py record --idwas run fordesign-revision-2,design,planning-readme,planning-decisionsandplanning-codespace-integration.fullprofile.Rollback
Documentation only: revert the merge commit. No runtime state depends on this change.
🤖 Generated with Claude Code