Skip to content

docs(product): correct forge §A1 proto placement to leaf forge.proto (SEA-1731) - #199

Open
seal-agent wants to merge 2 commits into
mainfrom
compass-repo-1731-forge-record-fix-compass
Open

docs(product): correct forge §A1 proto placement to leaf forge.proto (SEA-1731)#199
seal-agent wants to merge 2 commits into
mainfrom
compass-repo-1731-forge-record-fix-compass

Conversation

@seal-agent

@seal-agent seal-agent commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Corrects the frozen compass-server-ownership-layer-amendment record so its §A1 add-list matches the shipped A1 proto (PR #149): the forge notification/carrier types (ForgeNotification/ForgeNotificationKind, ForgeArtifactKind, CommentRef) live in a new internal-only leaf proto/compass/v1/forge.proto that imports only compass.proto, not in agent_gateway.proto as #995 T1 and this record's original text directed — that placement is a circular import (agent_gateway.proto already imports agent.proto, so agent.proto referencing an agent_gateway.proto type is a cycle buf rejects). The ForgeCall* carrier + op requests stay in agent_gateway.proto; the leaf is imported acyclically by agent.proto/agent_gateway.proto/runner.proto. Wire contract, field numbers, and generated names are unchanged — placement only.

Rewrites the "one structural consequence" section to "two structural consequences" (the cross-file import plus the new leaf), updates the T1 add-list and the row-13 disposition, and adds the ledger row for the placement decision.

This correction was originally authored as a sealed PR (#1095) against the design corpus while it lived in sealedsecurity/sealed. #179 (SEA-1794) migrated the corpus + decision ledger + ledger gate into this repo, so the correction is re-homed here and #1095 is closed. The decision takes DL-161 — allocated above the compass-ux-foundation reserved band that #200 landed on main (DL-148..160), so DL-161 is the next free id.

Refs SEA-1731

Co-authored-by: Matt Wilkinson matt@sealedsecurity.com

@linear-code

linear-code Bot commented Aug 7, 2026

Copy link
Copy Markdown

SEA-1731

@seal-agent
seal-agent force-pushed the compass-repo-1731-forge-record-fix-compass branch from d677e40 to c35cb46 Compare August 7, 2026 03:04
@seal-agent seal-agent closed this Aug 7, 2026
@seal-agent seal-agent reopened this Aug 7, 2026
seal-agent added a commit that referenced this pull request Aug 7, 2026
The compass-ux-foundation design record (#186, merged) reserved the
provisional ledger block DL-148..DL-160 in its Ledger-impact section but,
per the ledger single-writer path, did not write DECISIONS.md itself. This
lands those 13 rows now that the record is frozen on main.

- New `## UX foundation (design system)` section holding all 13 rows
  contiguously (one cohesive frozen record, grouped by domain as the ledger
  already groups).
- Each row's Decision cell is the record's Ledger-impact prose verbatim
  (immutable-cell convention); each Record link resolves to the frozen
  record's D1–D10 / D6.1 section anchors.
- Append-only and contiguous above DL-147 (the prior max on main). No
  existing row is touched. design-ledger-gate passes (136 rows, 43 record
  headers valid).

Confirmed clear with compass/service-owner (DL single-writer): DL-148..160
had no collision on main or any open branch; the authoritative reserved max
advances to DL-161 (compass-repo #199).

Spec-impact: none (transcribes a frozen record's reserved block)
Ledger-impact: DL-148, DL-149, DL-150, DL-151, DL-152, DL-153, DL-154, DL-155, DL-156, DL-157, DL-158, DL-159, DL-160
Refs SEA-1663
Co-authored-by: Matt Wilkinson <matt@sealedsecurity.com>
mattwilkinsonn added a commit that referenced this pull request Aug 7, 2026
The compass-ux-foundation design record (#186, merged) reserved the
provisional ledger block DL-148..DL-160 in its Ledger-impact section but,
per the ledger single-writer path, did not write DECISIONS.md itself. This
lands those 13 rows now that the record is frozen on main.

- New `## UX foundation (design system)` section holding all 13 rows
  contiguously (one cohesive frozen record, grouped by domain as the ledger
  already groups).
- Each row's Decision cell is the record's Ledger-impact prose verbatim
  (immutable-cell convention); each Record link resolves to the frozen
  record's D1–D10 / D6.1 section anchors.
- Append-only and contiguous above DL-147 (the prior max on main). No
  existing row is touched. design-ledger-gate passes (136 rows, 43 record
  headers valid).

Confirmed clear with compass/service-owner (DL single-writer): DL-148..160
had no collision on main or any open branch; the authoritative reserved max
advances to DL-161 (compass-repo #199).

Spec-impact: none (transcribes a frozen record's reserved block)
Ledger-impact: DL-148, DL-149, DL-150, DL-151, DL-152, DL-153, DL-154, DL-155, DL-156, DL-157, DL-158, DL-159, DL-160
Refs SEA-1663

Co-authored-by: Matt Wilkinson <matt@sealedsecurity.com>
@seal-agent
seal-agent force-pushed the compass-repo-1731-forge-record-fix-compass branch 3 times, most recently from 61e4b17 to 66cefbe Compare August 7, 2026 16:59
seal-agent added a commit that referenced this pull request Aug 7, 2026
Review of #199 flagged the frozen amendment record contradicting itself on
the gen-fence grep contents after the A1-brief correction: the A1 brief made
the fence firm (carrier family + internal-only requests + CommentRef) while
the Global Constraints bullet still said "fences the carrier family only" and
framed the requests as an open choice ("or accept the gap explicitly"). This
matters functionally — DL-161 relocates CommentRef into the internal-only
forge.proto leaf, so it MUST be fenced off the public gen surface; an
implementer following "carrier family only" would under-fence a now-internal
symbol.

- Global Constraints: retitle the bullet to "fences the carrier family plus
  the internal-only requests" and state the decision (the fence IS extended
  with the word-boundable internal-only names, CommentRef fenced because
  DL-161 makes it internal) instead of leaving it an accepted gap.
- Survival-table row 12: note ForgeArtifactKind relocates to the forge.proto
  leaf per DL-161 (see row 13) at its primary mention, so the placement story
  isn't split away from the type's own row.
- Multi-forge addressing paragraph: note the notification path (row 13) now
  also carries ForgeRef, keeping ForgeRef the one forge-identity vocabulary on
  both result and notification surfaces.

Refs SEA-1731

Co-authored-by: Matt Wilkinson <matt@sealedsecurity.com>
seal-agent and others added 2 commits August 7, 2026 16:25
…(SEA-1731)

Corrects the frozen `compass-server-ownership-layer-amendment` record so its §A1 add-list matches the shipped A1 proto (PR #149): the forge notification/carrier types (`ForgeNotification`/`ForgeNotificationKind`, `ForgeArtifactKind`, `CommentRef`) live in a new internal-only leaf `proto/compass/v1/forge.proto` that imports only `compass.proto`, **not** in `agent_gateway.proto` as #995 T1 and this record's original text directed — that placement is a circular import (`agent_gateway.proto` already imports `agent.proto`, so `agent.proto` referencing an `agent_gateway.proto` type is a cycle `buf` rejects). The `ForgeCall*` carrier + op requests stay in `agent_gateway.proto`; the leaf is imported acyclically by `agent.proto`/`agent_gateway.proto`/`runner.proto`. Wire contract, field numbers, and generated names are unchanged — placement only.

Rewrites the "one structural consequence" section to "two structural consequences" (the cross-file import **plus** the new leaf), updates the T1 add-list and the row-13 disposition, and adds the ledger row for the placement decision.

This correction was originally authored as a sealed PR (#1095) against the design corpus while it lived in `sealedsecurity/sealed`. #179 (SEA-1794) migrated the corpus + decision ledger + ledger gate into this repo, so the correction is re-homed here and #1095 is closed. The decision takes **DL-161** — allocated above the compass-ux-foundation reserved band that #200 landed on main (DL-148..160), so DL-161 is the next free id.

Refs SEA-1731

Co-authored-by: Matt Wilkinson <matt@sealedsecurity.com>
Review of #199 flagged the frozen amendment record contradicting itself on
the gen-fence grep contents after the A1-brief correction: the A1 brief made
the fence firm (carrier family + internal-only requests + CommentRef) while
the Global Constraints bullet still said "fences the carrier family only" and
framed the requests as an open choice ("or accept the gap explicitly"). This
matters functionally — DL-161 relocates CommentRef into the internal-only
forge.proto leaf, so it MUST be fenced off the public gen surface; an
implementer following "carrier family only" would under-fence a now-internal
symbol.

- Global Constraints: retitle the bullet to "fences the carrier family plus
  the internal-only requests" and state the decision (the fence IS extended
  with the word-boundable internal-only names, CommentRef fenced because
  DL-161 makes it internal) instead of leaving it an accepted gap.
- Survival-table row 12: note ForgeArtifactKind relocates to the forge.proto
  leaf per DL-161 (see row 13) at its primary mention, so the placement story
  isn't split away from the type's own row.
- Multi-forge addressing paragraph: note the notification path (row 13) now
  also carries ForgeRef, keeping ForgeRef the one forge-identity vocabulary on
  both result and notification surfaces.

Refs SEA-1731

Co-authored-by: Matt Wilkinson <matt@sealedsecurity.com>
@seal-agent
seal-agent force-pushed the compass-repo-1731-forge-record-fix-compass branch from 66cefbe to 8077ee2 Compare August 7, 2026 20:26
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