Skip to content

docs(adr): promote proposals 0001 + 0002 → ADR-0002 + ADR-0003#116

Merged
hyperpolymath merged 1 commit into
mainfrom
adr-promote-0002-0003
May 30, 2026
Merged

docs(adr): promote proposals 0001 + 0002 → ADR-0002 + ADR-0003#116
hyperpolymath merged 1 commit into
mainfrom
adr-promote-0002-0003

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Summary

Stacks on #115. Promotes the two [accepted] (2026-05-30) proposals to
architecture decision records under docs/decisions/. Closes the last
open gating item from PR #115's LEVEL-STATUS rewrite (#4 — "ADR
promotion").

Changes

New files:

  • docs/decisions/0002-multi-producer-carrier-sections.adoc
    ADR for typedwasm.regions + typedwasm.capabilities carriers,
    plus reserved slots for access-sites (→ ADR-0003) and region-imports
    (→ proposal 0003 [draft]). Adopted pins: WBool 4B wire, LEB128
    per field (option B), cardinality-1 producer surface in v1, opt-in
    Cargo features.
  • docs/decisions/0003-access-site-carrier.adoc — ADR for
    typedwasm.access-sites per-instruction (region_id, field_id)
    carrier (proposal 0001 OQ §5 → option A). Realised by
    verify_access_sites_from_module in PR feat(verify): verify_capabilities + verify_access_sites passes (proposal 0002 §Gate 4) #109.

Updated files:

  • docs/decisions/README.adoc — rewritten from 2-line stub to proper
    ADR index (ADR-0001 RSR + new ADR-0002 / 0003 + authoring guidance
    • cross-refs).
  • docs/proposals/README.adoc — index entries gain promotion arrows;
    NOTE block updated to reflect the promotion instead of the deferral.
  • docs/proposals/0001-multi-producer-carrier-section.adoc,
    docs/proposals/0002-access-site-carrier.adoc — add Promoted to
    metadata row + inline NOTE under the metadata table. Proposal
    content is unchanged; they remain canonical wire-format references.
  • LEVEL-STATUS.md — Open-gating item Snapshot local work before sync #4 (ADR promotion) → DONE
    with file-path pointers.

Why now

#115 flipped proposals 0001 + 0002 to [accepted] but deliberately
deferred ADR promotion as a separate auditable PR (file moves +
numbering choices). This PR closes that follow-up:

  • Existing ADR 0001 is adopt-rsr-standard (2026-02-14). New ADRs
    pick up at 0002 / 0003 in chronological order without renumbering
    anything else.
  • Proposal files are retained rather than removed — the ADRs are
    short decision records; the proposals carry the wire-format detail,
    error variants, and producer-readiness checklists. Cross-references
    point in both directions.

Stacking note

Branched off PR #115's head commit d9869bb so the proposal status
fields and docs/proposals/README.adoc are already at the
[accepted] baseline. Will rebase cleanly when #115 merges; no
content conflict with #115.

Test plan

  • AsciiDoc renders without broken anchors
  • docs/decisions/README.adoc index entries link to the right files
  • Proposal Promoted to rows resolve to the new ADRs
  • CI green (no source changes; docs-only)

🤖 Generated with Claude Code

Promotes the two `[accepted]` (2026-05-30) proposals to architecture
decision records.

- Add `docs/decisions/0002-multi-producer-carrier-sections.adoc` —
  ADR for `typedwasm.regions` + `typedwasm.capabilities` carriers
  (and reserved slots for access-sites + region-imports).
- Add `docs/decisions/0003-access-site-carrier.adoc` — ADR for
  `typedwasm.access-sites` per-instruction `(region_id, field_id)`
  carrier (proposal 0001 Open Question §5 → option A).
- Cross-link proposals 0001 + 0002 to their ADRs via new
  `Promoted to` row in each metadata table + inline NOTE.
- Rewrite `docs/decisions/README.adoc` from stub to proper ADR index
  (was a 2-line placeholder; now lists ADR-0001/0002/0003 with
  authoring guidance and cross-refs).
- Update `docs/proposals/README.adoc` to show promotion arrow + revise
  NOTE block.
- LEVEL-STATUS.md Open-gating item #4 (ADR promotion) → DONE.

Proposal files are retained as canonical wire-format / producer-
obligation references; the ADRs record the decision and consequences
in the standard `Context / Decision / Consequences` shape.

Existing ADR 0001 (`adopt-rsr-standard`, 2026-02-14) is unaffected
— this is purely additive, with new ADR numbers picking up from
0002 in chronological order.
@hyperpolymath hyperpolymath force-pushed the adr-promote-0002-0003 branch from 348833c to 9339d6e Compare May 30, 2026 15:34
@hyperpolymath hyperpolymath merged commit 9a3b315 into main May 30, 2026
18 of 27 checks passed
@hyperpolymath hyperpolymath deleted the adr-promote-0002-0003 branch May 30, 2026 15:35
hyperpolymath added a commit that referenced this pull request May 30, 2026
…ss stale references (#117)

## Summary

Companion to #115 (acceptance flip) and #116 (ADR promotion). Sweeps the
remaining files that still carried `[draft]` / `[review]` proposal
status
or referenced now-closed cross-repo gating issues.

## Files changed

| File | What changed |
|---|---|
| \`README.adoc\` | Proposal status flipped to \`[accepted]\` + ADR
links; added 0003/0004 to forward-looking section; rewrote the
verifier-pass status sentence (was "gated on proposal 0002's
acceptance"; now reflects PR #109 having shipped). |
| \`CHANGELOG.md\` | New Unreleased section "Multi-producer carrier ABI:
proposals 0001 + 0002 accepted, promoted to ADRs (2026-05-30)" covering
PRs #110-#116 + the seven closed issues + producer-side gates that
remain. |
| \`crates/typed-wasm-verify/Cargo.toml\` | Feature-flag comments
updated to reflect post-acceptance state. \`unstable-l2\` /
\`unstable-l15\` feature gates retained while Phase 3 stabilisation is
open. |
| \`docs/PRODUCTION-PATH.adoc\` | Proposals 0001/0002 flipped to
\`[accepted]\` with PR pointers; added 0003/0004 to active-design-work
list. |
| \`spec/type-safety-levels-for-wasm.adoc\` | Wire-section status column
updated for \`typedwasm.regions\` / \`typedwasm.capabilities\` /
\`typedwasm.access-sites\`; tail references enumerate all four proposals
with current status. |
| \`.machine_readable/6a2/STATE.a2ml\` | Capabilities-by-level entries
flipped 30→100; rewrote critical-next-actions; rewrote \`[carrier-abi]\`
section with accepted-date / acceptance-pr / adr-pr for both proposals +
added \`[draft]\` entries for 0003/0004. |

## What was deliberately left alone

\`spec/{ARG,CRG,FRG,TRG}-PROFILE.adoc\` — these are point-in-time audit
snapshots, not config. They mention the proposals as the live RFC
corpus, but rewriting audit history adds more noise than signal.

## Test plan

- [ ] CI green (docs + config only; no source changes)
- [ ] Cross-links resolve in rendered AsciiDoc

🤖 Generated with [Claude Code](https://claude.com/claude-code)
@github-actions
Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 96 issues detected

Severity Count
🔴 Critical 8
🟠 High 19
🟡 Medium 69

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action perpolymath/standards/.github/workflows/governance-reusable.yml@main\n needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in boj-build.yml",
    "type": "unknown",
    "file": "boj-build.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in c5-regenerate.yml",
    "type": "unknown",
    "file": "c5-regenerate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in cargo-audit.yml",
    "type": "unknown",
    "file": "cargo-audit.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in codeql.yml",
    "type": "unknown",
    "file": "codeql.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "unknown",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "unknown",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "unknown",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "unknown",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "unknown",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

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