Skip to content

Archive retire-codexfactory-sibling-currency-dispositions: realized at 841e86f0, no spec delta, successor rows 5.1-5.3 kept open - #1295

Merged
brettheap merged 3 commits into
mainfrom
archive/retire-codexfactory-sibling-currency-dispositions
Oct 11, 2026
Merged

brettheap merged 3 commits into
mainfrom
archive/retire-codexfactory-sibling-currency-dispositions

Conversation

@brettheap

@brettheap brettheap commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Lane: codexfactory-1 (codeXfactory-1)

This PR archives retire-codexfactory-sibling-currency-dispositions (G-1), task 5.4. It is a DRAFT for the coordinator to land. Land it by MERGE COMMIT, never squash, inside a Rule 6 landing window, because it touches openspec/changes/. The archive directory is named for the UTC day of the archive act, 2026-10-11, and archive-date-vs-commit compares that name with the commit that first adds the directory. A squash would re-date it.

Refs #1286

The word, verbatim

The archive gate (release-realization, non-empty code_surface:)

  • Merged: retire-codexfactory-sibling-currency-dispositions: delete the two canon-moved codexFactory dispositions ahead of their re-derivations (draft, parked at ratification) #1288 → 841e86f06cc9cce245560026ed02a3628ace35e4, at 2026-10-09T23:12:42Z. This is D, and main still pointed at it when this branch was cut.

  • Green push runs on main at 841e86f0. gh run list --commit 841e86f0… shows these five, and they are all of this repository's push-triggered workflows:

    workflow run conclusion
    pytest-suite 38003270892 success
    doc-health-py314 38003271040 success
    clearing-dispatch-gate 38003270870 success
    council-convening-gate 38003270891 success
    signed-execution-chain-gate 38003270916 success
  • openspec-cli-pin runs on pull requests only. It read success on the landed head f2b98b7e (run 38001206989), and so did pytest-suite there (run 38001207040). All 14 checks on that head passed.

  • Separately, 25 scheduled review-lane-repin runs at that sha all read success.

The route: the pinned CLI, because the wrapper refuses an open box

Important

This is the one place this archive departs from the recent precedent (#1281, #1278, #1269), which went through the governed wrapper.

Why the wrapper could not be used.

  • The word keeps five boxes open:
    • the [OWNER] boxes 0.2 and 0.3, which an agent never ticks (their acts are recorded as dated notes);
    • the successor rows 5.1, 5.2 and 5.3.
  • scripts/proposal-support.py refuses any ^- \[ \] and has no bypass flag. It was run first, over the ticked tree, and refused without moving anything:
$ TZ=UTC python3 scripts/proposal-support.py . archive retire-codexfactory-sibling-currency-dispositions --yes
ORIGIN RETAINED retire-codexfactory-sibling-currency-dispositions (declaration unchanged since the ratifying commit 1dee56db3486)
change has incomplete tasks
exit 1

What was run instead. The validation half was run through the same entrypoint the wrapper uses. Then the archive was taken through the content-addressed pin directly, from the repo root with TZ=UTC OPENSPEC_TELEMETRY=0. That is how govern-archived-record-edits was archived with its successor rows open (faeabe22):

$ OPENSPEC_TELEMETRY=0 python3 scripts/validate-openspec-cli-pin.py --change retire-codexfactory-sibling-currency-dispositions
openspec-cli-pin: @fission-ai/openspec@1.12.0 from pinned artifact (…/node_modules/.bin/openspec); integrity sha512-oFE2Lj7WVSc87nSi… verified
openspec-cli-pin: dependency closure openspec-cli-pin.1.12.0.package-lock.json (80 packages); lockfile_integrity sha512-aw5lIN45tQq2WZll… verified; installed with `npm ci --ignore-scripts`
  ℹ [INFO] file: skip_specs is set in .openspec.yaml: change declares no spec-level behavior changes, zero deltas accepted
Totals: 1 passed, 0 failed (1 items)
exit 0

$ TZ=UTC OPENSPEC_TELEMETRY=0 <pinned 1.12.0>/node_modules/.bin/openspec archive retire-codexfactory-sibling-currency-dispositions --yes
Proposal warnings in proposal.md (non-blocking):
  ⚠ Why section should not exceed 1000 characters
Task status: 21/26 tasks
Warning: 5 incomplete task(s) found. Continuing due to --yes flag.
Change 'retire-codexfactory-sibling-currency-dispositions' archived as '2026-10-11-retire-codexfactory-sibling-currency-dispositions'.
exit 0

If the coordinator wants the wrapper path instead, the alternative is to tick 5.1 to 5.3 "on the recording" (the 2026-09-11 precedent, 6af82a14) and to close 0.2 and 0.3 as discharged by word (the 2026-10-08 precedent). Both contradict this word and the brief, so neither was done.

Commits

  1. f2ab2897: ticks, made while the packet was still live. An archived record's tick state cannot be edited afterward (document-lifecycle, An archived record is edited only as a bookkeeping correction).
    • 5.4 is ticked, with the word, the evidence and the route.
    • 0.3 gets a dated note recording the landing act. It stays [ ], and 0.2 is untouched.
    • 5.1, 5.2 and 5.3 each get a dated "open, not owed by the archive" line.
    • A closure note: 21 of 26 boxes ticked; 0.2, 0.3, 5.1, 5.2 and 5.3 open.
    • One line out, 76 in; no ratified sentence is deleted.
  2. b15520da: the archive.
    • Six R100 pure renames, each blob hash identical on both sides.
    • Nothing under openspec/specs/: skip_specs: true, no specs/ directory, so there is no promotion.
    • The README Records entry moves from Active to the head of Archived.
  3. 0b4c36f4: the ledger seed. validate-sequenced-after.py . --seed-ledger --moved-by '#1295' moves one row, active → archived, moved_on 2026-10-11 (git diff --numstat reads 1 1). The README's pending marker now links to Archive retire-codexfactory-sibling-currency-dispositions: realized at 841e86f0, no spec delta, successor rows 5.1-5.3 kept open #1295.

Still owed, named so nobody reads them as done

  • 5.1: codexFactory CANARY — deliberately broken chain record; MUST FAIL signed-execution-chain-gate; never merge (task 4.6, #534) #549's second advance, carrying both re-derivations. It must advance to 841e86f0 or later.
  • 5.2: the template's 6.3. It still reads [ ] on main.
  • 5.3: the Fission-AI/OpenSpec#1793 watch. Note: that issue reads CLOSED, state_reason: not_planned, closed 2026-09-25T18:21:14Z, which is before this packet was authored. That fact is recorded in the archived packet but not judged there.
  • contracts/openspec-cli-pin.yaml's header still names the evidence file at its old active path. It is left as written, because it is a contract file.

Validation

Local runs at head 0b4c36f4 (the pin and verify runs were at b15520da, which differs only in the README link and the ledger row):

check result
python3 scripts/validate-openspec-cli-pin.py --all --strict (pinned 1.12.0) exit 0, Totals: 113 passed, 1 failed (114 items), 0 UNDISPOSITIONED. The one failure is the accepted add-chain-attestation exception. Evidence § 6 read 114 + 1 = 115 items; there is one fewer item because this change left the active set.
python3 scripts/proposal-support.py . verify (all, and the archived change) proposal support verification ok, exit 0
python3 scripts/validate-sequenced-after.py . --ledger-diff per-change sweep ledger consistent with the corpus (238 rows), exit 0
python3 scripts/validate-sequenced-after.py . exit 0: 47 active changes, 20 declaring; the archive-date and archive-date-vs-commit arms both pass
validate-code-surface.py ., validate-target-release.py . exit 0 each
timeout 1800 python3 -m pytest tests/sequenced_after tests/pin_registrations tests/openspec_cli_pin -q -p no:cacheprovider 511 passed, exit 0
python3 -m pytest tests/packet_reference tests/proposal-support tests/doc-health/test_pin_shape_adapter.py -q -p no:cacheprovider 320 passed, 314 subtests passed, exit 0
python3 scripts/doc-health.py --single-repo . --as-of 2026-10-11 --fail-on error exit 1 on this branch AND on main 841e86f0, each with "31 critical, 26 error, 76 warning, 21 info. New regressions vs previous report: 0." The two reports are identical (0 differing lines), and no finding names this packet.

CI's pytest-suite and the other gates report on this PR. The figures above are local.

No review was requested from anyone, and none by Copilot.

🤖 Generated with Claude Code

brettheap and others added 2 commits October 11, 2026 00:34
…hive word, and record the closure while the packet is still live

The archive word is Brett Heap's, first-hand in lane codeXfactory-1's own
session at 2026-10-11T00:19:47Z (the session transcript's timestamp):
"Archive + land when green (Recommended)". As offered, the archive is a pull
request in openxFactory, landed under lane-collision Rule 6, and successor rows
5.1 to 5.3 stay open in the archived packet. It is recorded on #1286, comment
6103700924.

This is the only edit the packet takes, and it is made BEFORE the move, because
document-lifecycle's "An archived record is edited only as a bookkeeping
correction under a recorded ruling" refuses an edit to a task record or its
tick state once the file is archived. The archive commit that follows edits no
byte of the packet.

What moves, all in tasks.md, one line out and 76 in:
- 5.4 ticks, with the word, the realization evidence and the route. The
  evidence: #1288 merged as 841e86f (2026-10-09T23:12:42Z); every push run on
  main at 841e86f reads success, which covers all five push-triggered
  workflows here (pytest-suite 38003270892, doc-health-py314 38003271040,
  clearing-dispatch-gate 38003270870, council-convening-gate 38003270891,
  signed-execution-chain-gate 38003270916); and openspec-cli-pin, which runs on
  pull requests only, read success on the landed head f2b98b7 (run
  38001206989).
- 0.3 gains a dated note recording the act, LANDING comment 6090841081, the
  merge 841e86f and LANDED comment 6090845496. It stays [ ]: an agent does not
  tick an owner's-act box. 0.2 is not touched.
- 5.1, 5.2 and 5.3 each gain a dated line saying the box is open and not owed
  by the archive, with what was measured on the day. 5.3 records that
  Fission-AI/OpenSpec#1793 reads CLOSED, state_reason not_planned, closed
  2026-09-25T18:21:14Z, and judges nothing from it.
- A closure note under the header: 21 of 26 boxes ticked, and 5 open (0.2,
  0.3, 5.1, 5.2, 5.3). The one header sentence the tick narrows is quoted in
  place, not edited.

THE WRAPPER WAS RUN FIRST, over this file as ticked here, and refused without
moving anything:

    TZ=UTC python3 scripts/proposal-support.py . archive \
        retire-codexfactory-sibling-currency-dispositions --yes

    ORIGIN RETAINED retire-codexfactory-sibling-currency-dispositions (declaration unchanged since the ratifying commit 1dee56d)
    change has incomplete tasks
    exit 1

It refuses any open box and has no bypass flag. The word keeps five open, so
the archive goes through the content-addressed pinned CLI directly, the route
govern-archived-record-edits took with its successor rows open (faeabe2).

Refs #1286

Lane: codexfactory-1 (codeXfactory-1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… pinned CLI: no spec delta, five boxes open by the word

On Brett Heap's archive word, first-hand in lane codeXfactory-1's own session
at 2026-10-11T00:19:47Z (the session transcript's timestamp), verbatim
"Archive + land when green (Recommended)", recorded on #1286 (comment
6103700924). As offered, the archive is a pull request in openxFactory, landed
under lane-collision Rule 6, and successor rows 5.1 to 5.3 stay open in the
archived packet.

code_surface is non-empty, so under release-realization the packet archives on
merged-plus-green realization evidence, recorded in the packet's own tasks.md
5.4:
- merged: #1288 -> 841e86f
  (2026-10-09T23:12:42Z), which is D;
- green: every push run on main at 841e86f reads success, and those five are
  all of this repository's push-triggered workflows: pytest-suite
  38003270892, doc-health-py314 38003271040, clearing-dispatch-gate
  38003270870, council-convening-gate 38003270891, signed-execution-chain-gate
  38003270916;
- openspec-cli-pin, which runs on pull requests only, read success on the
  landed head f2b98b7 (run 38001206989).

THE ROUTE, AND WHY IT IS NOT THE WRAPPER. The word keeps five boxes open: the
owner boxes 0.2 and 0.3 (their acts recorded as dated notes, never ticked by
an agent) and the successor rows 5.1, 5.2 and 5.3. The governed wrapper
refuses any open box and has no bypass flag. It was run first, at
2026-10-11T00:33:50Z, and refused without moving anything:

    TZ=UTC python3 scripts/proposal-support.py . archive \
        retire-codexfactory-sibling-currency-dispositions --yes
    ORIGIN RETAINED retire-codexfactory-sibling-currency-dispositions (declaration unchanged since the ratifying commit 1dee56d)
    change has incomplete tasks
    exit 1

So the wrapper's two remaining halves were run as the wrapper runs them, and
then the archive itself, as govern-archived-record-edits was archived with its
successor rows open (faeabe2):
- the validation half, through the same entrypoint:
  OPENSPEC_TELEMETRY=0 python3 scripts/validate-openspec-cli-pin.py \
      --change retire-codexfactory-sibling-currency-dispositions
  "@fission-ai/openspec@1.12.0 from pinned artifact ... integrity
  sha512-oFE2Lj7WVSc87nSi... verified", "dependency closure
  openspec-cli-pin.1.12.0.package-lock.json (80 packages); lockfile_integrity
  sha512-aw5lIN45tQq2WZll... verified", "skip_specs is set in .openspec.yaml",
  "Totals: 1 passed, 0 failed (1 items)", exit 0;
- the archive, started 2026-10-11T00:34:35Z, from the repository root, with
  the environment the wrapper hands its child (TZ=UTC, OPENSPEC_TELEMETRY=0):
  <pinned 1.12.0>/node_modules/.bin/openspec archive \
      retire-codexfactory-sibling-currency-dispositions --yes
  "Proposal warnings in proposal.md (non-blocking): Why section should not
  exceed 1000 characters", "Task status: 21/26 tasks", "Warning: 5 incomplete
  task(s) found. Continuing due to --yes flag.", "Change
  'retire-codexfactory-sibling-currency-dispositions' archived as
  '2026-10-11-retire-codexfactory-sibling-currency-dispositions'.", exit 0.
There are no supporting docs, so nothing is packaged, as the wrapper would
have said. The directory takes today in UTC, 2026-10-11, the same UTC day as
this commit, the identity archive-date-vs-commit measures.

NOTHING IS PROMOTED. .openspec.yaml declares skip_specs: true and there is no
specs/ directory, so the CLI found no delta, and git status reads 0 entries
under openspec/specs/.

The six packet files move as R100 pure renames, each blob hash identical on
both sides. tasks.md carries 5.4's tick and the closure note from the commit
before this one, and no byte of the packet is edited here.

The README OpenSpec Records entry moves from Active to the head of Archived.
Its pull-request link is the ARCHIVE-PR-NUMBER-PENDING marker, which the
ledger-seed commit replaces once the pull request exists.
contracts/openspec-cli-pin.yaml's header still names the evidence file at its
active path. It is a contract file, so it is left as written.

Refs #1286

Lane: codexfactory-1 (codeXfactory-1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sourcery-ai

sourcery-ai Bot commented Oct 11, 2026

Copy link
Copy Markdown

Reviewer's Guide

This PR archives the already-landed and green realization of G-1 by moving the six-file OpenSpec packet into the 2026-10-11 archive, updating the README index, and preserving a 21/26 task state with successor work 5.1–5.3 explicitly open. Reviewers should verify the merge-commit/Rule 6 landing requirements, the pinned CLI archive route, the cited realization evidence, and that the archive is a pure move with no spec promotion or unintended packet edits.

Sequence diagram for realization evidence before archiving

sequenceDiagram
    participant Coordinator
    participant PR1288
    participant Main
    participant CI
    participant Archive
    Coordinator->>PR1288: LANDING under Rule 6
    PR1288->>Main: Merge commit 841e86f0
    Main->>CI: Run push-triggered workflows
    CI-->>Main: All five workflows success
    CI-->>PR1288: openspec-cli-pin success on f2b98b7e
    Coordinator->>Archive: Archive G-1 with merged-plus-green evidence
    Archive-->>Archive: Keep tasks 5.1-5.3 open
Loading

Flow diagram for the pinned CLI archive route

flowchart TD
    A["Live OpenSpec packet\n21 of 26 tasks ticked"] --> B["Governed wrapper\nproposal-support.py archive"]
    B -->|"Refuses: incomplete tasks"| C["Pinned OpenSpec CLI 1.12.0\narchive --yes"]
    C --> D["Archive directory\n2026-10-11-retire-codexfactory-sibling-currency-dispositions"]
    D --> E["Pure packet move\nNo spec promotion"]
Loading

File-Level Changes

Change Details Files
Archives the realized retire-codexfactory sibling-disposition packet while preserving its historical contents and explicitly recording the remaining successor work.
  • Adds dated archive closure evidence, including the 5.4 tick and five intentionally open boxes.
  • Records the prior landing commit, green workflow evidence, archive word, and the fallback pinned-CLI route after the governed wrapper rejects incomplete tasks.
  • Keeps successor rows 5.1–5.3 open and documents their ownership and outstanding follow-up.
openspec/changes/archive/2026-10-11-retire-codexfactory-sibling-currency-dispositions/tasks.md
Moves the change packet from Active to Archived without promoting any specifications.
  • Performs six content-preserving renames into the UTC-dated archive directory.
  • Leaves openspec/specs unchanged because skip_specs is enabled and the change declares no spec delta.
  • Updates README indexes and carries forward detailed realization, provenance, and outstanding-work metadata.
  • Leaves the CLI pin contract's active-path header unchanged as an intentional contract-file exception.
README.md
openspec/changes/archive/2026-10-11-retire-codexfactory-sibling-currency-dispositions/proposal.md
openspec/changes/archive/2026-10-11-retire-codexfactory-sibling-currency-dispositions/tasks.md
openspec/changes/archive/2026-10-11-retire-codexfactory-sibling-currency-dispositions/evidence/codexfactory-sibling-currency-retirement-2026-10-09.md
openspec/changes/archive/2026-10-11-retire-codexfactory-sibling-currency-dispositions/review/ratification-2026-10-09.md
openspec/changes/archive/2026-10-11-retire-codexfactory-sibling-currency-dispositions/design.md
openspec/changes/archive/2026-10-11-retire-codexfactory-sibling-currency-dispositions/specs/

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

…l request

python3 scripts/validate-sequenced-after.py . --seed-ledger --moved-by '#1295'
wrote 238 rows, 1 moved by #1295
(retire-codexfactory-sibling-currency-dispositions, active -> archived,
moved_on 2026-10-11). The diff is that one line: git diff --numstat reads 1 1
on the file, and class and declares do not move. The README Records entry's
ARCHIVE-PR-NUMBER-PENDING marker becomes a link to PR #1295.

It is a commit of its own because the --moved-by pull request number does not
exist until the pull request does. --ledger-diff reads "per-change sweep
ledger consistent with the corpus (238 rows)", exit 0. The plain run passes
(47 active changes, 20 declaring the field), and its archive-date and
archive-date-vs-commit arms are clean.

Refs #1286

Lane: codexfactory-1 (codeXfactory-1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@brettheap
brettheap marked this pull request as ready for review October 11, 2026 01:11
@sourcery-ai

sourcery-ai Bot commented Oct 11, 2026

Copy link
Copy Markdown

Sorry @brettheap, you've used your own review budget of 250,000 diff characters for the last 7 days.

You can request another review in 1 day and 22 hours by commenting @sourcery-ai review. Upgrade to get a review now.

@brettheap

Copy link
Copy Markdown
Contributor Author

Lane: codexfactory-1 (codeXfactory-1)

LANDING — lane codeXfactory-1, session 2b17a476-c057-4a49-abbf-dadbc5529729@Eagle, 2026-10-11T01:11:46Z, PR #1295 into opensoft/openxFactory main, at head 0b4c36f4 over main 33d2a56a. The register line is verified on origin.

The word is Brett Heap's, first-hand in lane codeXfactory-1's session at 2026-10-11T00:19:47Z by the session transcript's timestamp: "Archive + land when green (Recommended)". As offered, the archive (task 5.4) of retire-codexfactory-sibling-currency-dispositions is a PR in openxFactory, landed under Rule 6, with successor rows 5.1 to 5.3 left open in the archived packet. It is recorded on #1286 in comment 6103700924, and as a register RULED line. The archive gate is #1288 merged as 841e86f0, with all five push runs on main at that sha green, listed in the PR body. openxFactory main does not require branches to be up to date. This head is 27 commits behind main, and none of the 172 files those commits change is the README, tests/sequenced_after/corpus-ledger.yaml, contracts/openspec-cli-pin.yaml or anything under openspec/changes/.

All 14 required-and-reported checks pass on this head (skipped checks excepted). No other LANDING is open on opensoft/openxFactory main, in the register or in any open PR's comments.

@brettheap
brettheap merged commit 1fde3f5 into main Oct 11, 2026
17 checks passed
@brettheap

Copy link
Copy Markdown
Contributor Author

Lane: codexfactory-1 (codeXfactory-1)

LANDED — lane codeXfactory-1, session 2b17a476-c057-4a49-abbf-dadbc5529729@Eagle, 2026-10-11T01:12:11Z, PR #1295 into opensoft/openxFactory main → 1fde3f5dcc8359c5e7f99800a0defe6075aac161 (merged 2026-10-11T01:11:51Z). An admin merge commit on Brett Heap's word, not an approving review. retire-codexfactory-sibling-currency-dispositions is archived at openspec/changes/archive/2026-10-11-retire-codexfactory-sibling-currency-dispositions/, with 21 of 26 boxes ticked. The archive went through the pinned CLI, because the wrapper refuses open boxes; that route follows the precedent faeabe22. Owner boxes 0.2 and 0.3 and successor rows 5.1 to 5.3 stay open by design. 5.1 is codexFactory #549's second advance, and the hard constraint at D (841e86f0) still binds it.

opensoft/openxFactory main is free for the next Rule 6 lander.

brettheap added a commit that referenced this pull request Oct 11, 2026
Takes #1295 and #1296, which landed after the 33d2a56 merge, so the landing
merge CI validates is the tree that lands. Neither touches a release file:
contracts/manifest.yaml, contracts/releases/, contracts/CHANGELOG.md and
contracts/README.md are unchanged, no contract-v4.1 inventory member moved,
and no submodule gitlink moved.

Lane: openxfactory-5 (openXfactory-5)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
brettheap added a commit that referenced this pull request Oct 11, 2026
… the head that lands (change task 2.7)

main moved to 978e9cb (#1295, #1296) after the section was written, and
0d37508 merged it in. Section 11 now lists all three merges, adds the
0d37508 column (every gate 0, inventory rebuild byte-identical,
verify-commit PASS, release-tag-gate on the recreated merge tree 1609bed1
with no error and no warning, doc-health the cb9b27f set, tests/factory-mcp
108 passed), and states the head that lands (0d37508 plus the record)
and how CI judges a later merge of main before landing.

Lane: openxfactory-5 (openXfactory-5)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
brettheap added a commit that referenced this pull request Oct 11, 2026
…ration

PR-2 (#1294, 33d2a56) and PR-3 (#1296, 978e9cb) landed; their branches
are deleted, so main is the source for Phases 2 and 3 from here on. Main
also brings #1287, #1288, #1295 and #1289.

Resolution:
- resolution.py: the admission order keeps Phase 5's A4
  (`_workflow_revision`) and Phase 2's final step 9, which reads the
  `declared` projection entry `_council_and_class` returns.
- The invocation-directory check takes main's separator-terminated prefix
  (the PR-1 follow-up) and keeps the mode name, so `select` says so.
- The family README gains Phase 3's snapshot and assignment row beside
  Phase 5's binding row; the corpus contract's `issued` row carries both
  Phase 4's `public_key` amendment and Phase 3's live-snapshot soundness
  note.
- evidence.md: Phase 3's final records go at the end of § Phase 3, before
  § Phase 4 (as merged from 03cb77e) and § Phase 6.
- Tests: Phase 3's final assignment-area docstring (snapshot half shared,
  retry vectors the consumer's) inside Phase 6's all-areas test; Phase 3's
  pre-review `check` tests kept beside Phase 4's and Phase 5's.
- refusal_code is unchanged: 92 codes, one copy each of binding_unresolved
  and broker_capability_insufficient, at Phase 4's position.
- The conformance index is regenerated: 641 vectors.

Lane: codexfactory-2 (codeXfactory-2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant