Skip to content

Archive prefer-triad-project-shape: 5.6 realized by openRepoProject #8 → d7f6b0ee, packet closed - #1281

Merged
brettheap merged 8 commits into
mainfrom
archive/prefer-triad-project-shape
Oct 9, 2026
Merged

brettheap merged 8 commits into
mainfrom
archive/prefer-triad-project-shape

Conversation

@brettheap

@brettheap brettheap commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Lane: codeXfactory-5

Archives the ratified OpenSpec change prefer-triad-project-shape and promotes its delta into openspec/specs/project-repo-schema/spec.md. Task 5.6 is now realized by openRepoProject #8 → d7f6b0ee, so every tasks.md § 5 surface has merged, green realization evidence.

Authority (Brett Heap, verbatim)

  • The archive word. The STANDING word was "archive prefer-triad-project-shape when 5.6 lands", given at 2026-10-07T10:20:48Z and RULED on the lane register at 2026-10-07T10:21:23Z. Its recorded reading has four parts:
    • The trigger is task 5.6's realization merging with green checks. That realization is new-project creation offering the Triad first, owned by lane openRepoProject-1 through openRepoProject#3 and its OpenSpec change prefer-triad-in-project-new.
    • codeXfactory-5 then records the 5.6 tick citing that merge sha.
    • It archives the change through openxFactory's archive wrapper, promoting the delta into openspec/specs/project-repo-schema.
    • It does so as one archive PR, landing by merge commit under a Rule 6 window on this word, with no further word needed.
  • The trigger is met. openRepoProject PR Add dogfood content migration plan #8 merged at 2026-10-08T23:43:48Z as d7f6b0eeebf3370be13de87193f397592ebd73a9.
    • At its head f8dde973, all eight test runs and SonarCloud succeeded, and Sourcery was skipped.
    • On main at d7f6b0ee, all four test jobs succeeded and SonarCloud was neutral.
    • These were re-verified from the check runs.
  • The owner-box ruling. At 2026-10-08T20:04:44Z Brett Heap selected, verbatim, "Yes, here and prefer-triad (Recommended)". It was RULED on the lane register at 2026-10-08T20:05:35Z. The option text: tick the owner boxes as discharged by word, each citing his word and its time, as Archive state-header-window-budget on landing (Brett Heap's word "archive 921", 2026-09-11T10:21:39Z) #953 did; owner boxes whose acts he recorded get the same treatment when prefer-triad-project-shape is archived; and any box without a recorded word stops that archive.

Owner-box discharges

Every owner box has a recorded word. Each tick records Brett Heap's act, not the agent's.

box word (verbatim) time (UTC) where recorded
1.1 the reading "ratify 1249 as recommended" 2026-10-06T16:02:16Z #1249 RATIFIED comment 6020300563; review/ratification-2026-10-06.md; lane register RULED 16:03:51Z
1.2 OQ-1 same word ("as recommended": single-repository.yaml at the root, schema owned by openRepoShape) 2026-10-06T16:02:16Z as 1.1, and the box's own RULED note
1.3 OQ-2 same word (no class-guessing) 2026-10-06T16:02:16Z as 1.1, and the box's own RULED note
1.4 OQ-3 same word (no block on the ownership requirement) 2026-10-06T16:02:16Z as 1.1, and the box's own RULED note
1.5 merge "merge 1249" 2026-10-06T17:31:10Z (the session transcript's timestamp of the word) #1249 LANDING comment 6021840005 (17:33:23Z) and LANDED comment 6021851396 (17:34:04Z), landed as e63809650d39586134c4ec4fdb6e9effc87a7860; lane register LANDING 17:33:13Z and LANDED 17:33:58Z

Task 4.3 facts (verified from #1249's check runs and review record)

  • Checks. At the final head 020f2e4f, all 16 check runs succeeded except Sourcery review, which was skipped. All eight required contexts passed, and so did merge-master-approval and SonarCloud.
  • No Codex review was delivered. @codex review was requested at 2026-10-06T14:24:19Z (comment 6018384460). The Codex connector replied at 14:24:31Z (comment 6018388372) with a usage-limit notice.
  • Sourcery posted a review-budget notice (14:25:57Z) and a reviewer's guide (14:26:16Z, comment 6018422124). Neither carries a finding.
  • The review record has 0 reviews, 0 review threads and 0 pending review requests, so no thread is left unanswered.
  • The basis for the tick is the green checks and the absence of any unanswered thread. The note states plainly that no Codex review was delivered.

Task 5.6 and the 6.1 archive record

What moved

Validators, before (main b80a4790) and after (a769b25c, seeded)

Both sides ran in one scratch checkout named openxFactory, with the submodules CI initializes. Every validator exited 0 on both sides, and every difference is the archive's own effect.

validator before after difference
validate-openspec-cli-pin.py --all --strict 114 passed, 1 failed (115 items) 113 passed, 1 failed (114 items) This change left the item set. The failure is the accepted add-chain-attestation exception, the same on both sides. Three non-failing [INFO] ">500 characters" lines were added for the promoted ADDED requirements.
validate-sequenced-after.py . 48 active, 20 declaring 47 active, 20 declaring This change left the active set. Both archive-date agreements pass.
… --ledger-diff consistent (236 rows) consistent (236 rows) Totals went from 48/188 to 47/189, and active co-modified from 27 to 26. Before the seed it exited 1 on exactly this row.
validate-code-surface.py . 48 active, 32 repository lists, 11 identifiers 47, 31, 10 opensoft/openRepoShape was named only by this change.
validate-target-release.py . 48 active, 26 implemented 47, 25 This change left the active set.
doc-health.py --single-repo . 31 critical, 26 error, 69 warning, 19 info, 0 regressions identical Canon words rose by 1,986 (the promoted text). No finding names an archive file.

Overlapping open PRs (not touched)

Lands by MERGE commit under Rule 6 on Brett Heap's standing word "archive prefer-triad-project-shape when 5.6 lands".

Copilot review not requested (Brett Heap, 2026-10-06).

🤖 Generated with Claude Code

Summary by Sourcery

Archive prefer-triad-project-shape and promote its ratified requirements into the canonical project repository schema.

New Features:

  • Promote the Triad-preference and advisory requirements into the canonical project repository schema, including silent exemptions and review-neutral behavior.

Enhancements:

  • Archive the ratified prefer-triad-project-shape OpenSpec change after completing its realization evidence and preserve its provenance and records.
  • Move the change’s packet from Active to Archived documentation and update the sequencing ledger to reflect the archive.

Documentation:

  • Update the README archive index with the completed change and its realization record.

brettheap and others added 5 commits October 9, 2026 00:04
…4.3 and 5.6

Owner boxes 1.1-1.4 are closed on Brett Heap's "ratify 1249 as recommended"
(2026-10-06T16:02:16Z; PR #1249 comment 6020300563 and
review/ratification-2026-10-06.md), and 1.5 on "merge 1249"
(2026-10-06T17:31:10Z; LANDING/LANDED comments 6021840005 and 6021851396,
landed as e638096). Each tick records his act, under his selection of
2026-10-08T20:04:44Z, "Yes, here and prefer-triad (Recommended)" (RULED
2026-10-08T20:05:35Z), as archive #953 did.

4.3 is verified from #1249's check runs and review record. Every required
context passed at the final head 020f2e4. "@codex review" (14:24:19Z) met a
usage-limit notice and no Codex review was delivered. There are 0 reviews and
0 threads.

5.6 is realized by openRepoProject #8 -> d7f6b0ee (lane openRepoProject-1),
with every check green at f8dde973. onp and new-project.sh reach it only once
workBenches#145 moves that lane's pin.

Lane: codeXfactory-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The wrapper refuses an archive while any open box remains. The condition 6.1
names is met: every § 5 surface's realization is merged, with green checks
where the surface runs any. design.md D9 names no record file, so the 6.1 note
is the archive record. It cites each surface's merge sha and check runs,
including the three outside the code_surface head: workBenches #139/#140,
openRepoProject #8, and the private protocol source #52/#53 by sha and file
name only. Canon has not moved under the MODIFIED block since 92010d3, so no
block is brought forward.

Lane: codeXfactory-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Takes main at b80a479 (#1280) by merge, not rebase. It touches no file of
this archive.

Lane: codeXfactory-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… project-repo-schema

Archived through the governed wrapper, never a bare openspec archive:
TZ=UTC python3 scripts/proposal-support.py . archive prefer-triad-project-shape --yes
It exited 0: ORIGIN RETAINED (declaration unchanged since the ratifying commit
e638096), "+ 3 added, ~ 1 modified", over the pinned
@fission-ai/openspec@1.12.0.

Promoted onto openspec/specs/project-repo-schema/spec.md:
MODIFIED "The project repository schema is elective and confers nothing", and
ADDED "A person starting work outside a Triad is advised once, and is never
stopped for it", "A project's shape is never a review input" and "The advisory
is silent where the shape question is answered or does not arise". Each block
is byte-identical between the archived delta and canon. Canon had not moved
under the MODIFIED block, so nothing was brought forward. The seven packet
files move as renames.

The README Records row moves from Active to Archived. This is done on Brett
Heap's standing word "archive prefer-triad-project-shape when 5.6 lands"
(2026-10-07T10:20:48Z, RULED 10:21:23Z), now that openRepoProject #8 ->
d7f6b0ee has landed green.

Lane: codeXfactory-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The run's decisive lines, the promotion verified block by block, provenance
and links. The four promoted blocks are byte-identical between the archived
delta and canon, and the other ten are unmoved. The seven packet files are pure
renames, and the origin is retained since e638096. The doctrine's code-type
`Amended by:` path is left as written, as #1275 left its sibling.

Lane: codeXfactory-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sourcery-ai

sourcery-ai Bot commented Oct 9, 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 19 hours and 53 minutes by commenting @sourcery-ai review. Upgrade to get a review now.

@sourcery-ai

sourcery-ai Bot commented Oct 9, 2026

Copy link
Copy Markdown

Reviewer's Guide

This PR archives the ratified prefer-triad-project-shape change after verifying all realization surfaces—including openRepoProject task 5.6—landed with the required evidence, while promoting the change’s three new advisory and review-neutrality requirements plus the modified elective-schema posture into the canonical project-repo-schema specification.

Sequence diagram for Triad-first project creation

sequenceDiagram
    actor Person
    participant Project as project new
    participant OpenRepoShape as openRepoShape

    Person->>Project: new()
    Project-->>Person: Offer Triad first or single repository
    alt Triad selected
        Person->>Project: Confirm Triad
        Project->>OpenRepoShape: Create Triad without --yes
        OpenRepoShape-->>Person: Request confirmation
        Person->>OpenRepoShape: Confirm creation
    else Single repository selected
        Person->>Project: Confirm single repository
        Project-->>Person: Create single repository
    end
Loading

File-Level Changes

Change Details Files
Archives the ratified prefer-triad-project-shape packet and preserves its provenance while recording the realization evidence that satisfied the archive gate.
  • Moves the proposal packet and related records from the active change directory to the dated archive directory as renames.
  • Updates README active/archive indexes with the archive decision, governance provenance, realization references, and validation results.
  • Closes owner, validation, realization, and archive task boxes with evidence for the governing words, green checks, and merged implementation surfaces.
README.md
openspec/changes/prefer-triad-project-shape/tasks.md
openspec/changes/archive/2026-10-09-prefer-triad-project-shape/proposal.md
openspec/changes/archive/2026-10-09-prefer-triad-project-shape/design.md
openspec/changes/archive/2026-10-09-prefer-triad-project-shape/specs/project-repo-schema.md
openspec/changes/archive/2026-10-09-prefer-triad-project-shape/tasks.md
openspec/changes/archive/2026-10-09-prefer-triad-project-shape/.openspec.yaml
openspec/changes/archive/2026-10-09-prefer-triad-project-shape/review/ratification-2026-10-06.md
openspec/changes/archive/2026-10-09-prefer-triad-project-shape/review/estate-inventory-2026-10-06.md
Promotes the ratified Triad preference into the canonical project repository schema without making the preference mandatory or review-affecting.
  • Adds Triad-first preference and migration guidance while retaining elective project shape and human decision authority.
  • Defines advisory behavior, including once-per-session and bootstrap contexts, non-interactive warnings, confirmation requirements, and no automatic conversion or record creation.
  • Explicitly excludes elected Triads, leg clones, family holders, workspace repositories, and projects with an optional staying-single record from the advisory.
  • Adds requirements ensuring project shape never influences review gates, required checks, validators, merge eligibility, or review output.
openspec/specs/project-repo-schema/spec.md

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

brettheap and others added 3 commits October 9, 2026 00:09
…l request

python3 scripts/validate-sequenced-after.py . --seed-ledger --moved-by '#1281'
wrote 236 rows, 1 moved by #1281. The row prefer-triad-project-shape goes from
active to archived, moved_by #1249 to #1281, moved_on 2026-10-06 to 2026-10-09.
class co-modifier is held, and no partner row moves. The README Archived entry
now names PR #1281.

Lane: codeXfactory-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The runs were taken in one scratch checkout named openxFactory, with CI's
submodules: main b80a479 before, and a769b25 after the seed. Every
validator exits 0 on both sides, and each difference is this archive's own
effect. The change leaves the active set: 48 -> 47 and 115 -> 114 items.
opensoft/openRepoShape leaves the active code-surface identifiers. Canon words
rise by 1,986. The CLI adds three >500-character INFO lines for the promoted
ADDED requirements, and the ledger is consistent at 236 rows.

Lane: codeXfactory-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This takes main at 564f565 (#1278, the archive of
refresh-install-repository-enumerations-opsxfactory-gateway) by merge, not
rebase. README's Archived list conflicted at its head, and the resolution
keeps both entries byte for byte: this archive's (2026-10-09) first and
#1278's (2026-10-08) after it. Each side's removal of its own Active row is
kept. The sweep ledger auto-merged, and each archive moved its own row.

Lane: codeXfactory-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sonarqubecloud

sonarqubecloud Bot commented Oct 9, 2026

Copy link
Copy Markdown

@brettheap

Copy link
Copy Markdown
Contributor Author

LANDING — lane codeXfactory-5, session ed23f049-7e99-4601-8a6d-760b6aeb5f26@Eagle, 2026-10-09T01:19:42Z, PR #1281 into opensoft/openxFactory main

Landing on Brett Heap's word "merge the archive PR when green" (2026-10-09T00:35:49Z), under his standing word "archive prefer-triad-project-shape when 5.6 lands" (openRepoProject#8 merged green as d7f6b0ee). Every check is green at head 8f93299, including pytest-suite and merge-master-approval; Sourcery skipped. Main has moved one commit (#1261: README and its own change only), and the PR is mergeable. Merging by merge commit, as #1275 and #1252 were.

Lane: codeXfactory-5

@brettheap
brettheap merged commit 35d1d50 into main Oct 9, 2026
16 checks passed
@brettheap

Copy link
Copy Markdown
Contributor Author

LANDED — lane codeXfactory-5, session ed23f049-7e99-4601-8a6d-760b6aeb5f26@Eagle, 2026-10-09T01:20:02Z, PR #1281 into opensoft/openxFactory main → 35d1d50

Merged at 2026-10-09T01:19:46Z by merge commit, on Brett Heap's word "merge the archive PR when green". This closes the window. prefer-triad-project-shape is archived.

Lane: codeXfactory-5

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