You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Context.contracts/audit-prep/ is thorough (SCOPE, THREAT_MODEL, INTERNAL_AUDITS, TEST_COVERAGE, REPRODUCIBLE_BUILD, DEPLOYMENT_MANIFEST, AUDIT_FIRMS). AUDIT_FIRMS.md already carries substantive tier tables, but audit-prep/README.md still has coordinator + technical-contact as [TBD] (lines 125-126), no SOW has been signed, no ENGAGEMENT.md exists, no audit-freeze.yml workflow exists, and stellar/MAINNET_READINESS.md still has zero of the four audit items checked. Wave 8 turns this from prep into an engagement, with a CI-enforced change-freeze on audit-scoped crates once the SOW starts.
Scope.
Fill every [TBD] in audit-prep/README.md and audit-prep/AUDIT_FIRMS.md (coordinator, technical contact, firm shortlist ranked with quotes / timelines).
Publish audit-prep/ENGAGEMENT.md documenting the signed SOW: scope crates, out-of-scope crates, kickoff date, delivery milestones, escalation contacts, disclosure policy.
Add .github/workflows/audit-freeze.yml: reads audit-prep/ENGAGEMENT.md for freeze_paths: and freeze_until: YAML front-matter; fails any PR that touches a listed path while the freeze is active unless the PR carries the audit-approved label.
Tier: L (5-7 days) | Type: ops + docs
Context.
contracts/audit-prep/is thorough (SCOPE, THREAT_MODEL, INTERNAL_AUDITS, TEST_COVERAGE, REPRODUCIBLE_BUILD, DEPLOYMENT_MANIFEST, AUDIT_FIRMS).AUDIT_FIRMS.mdalready carries substantive tier tables, butaudit-prep/README.mdstill has coordinator + technical-contact as[TBD](lines 125-126), no SOW has been signed, noENGAGEMENT.mdexists, noaudit-freeze.ymlworkflow exists, andstellar/MAINNET_READINESS.mdstill has zero of the four audit items checked. Wave 8 turns this from prep into an engagement, with a CI-enforced change-freeze on audit-scoped crates once the SOW starts.Scope.
[TBD]inaudit-prep/README.mdandaudit-prep/AUDIT_FIRMS.md(coordinator, technical contact, firm shortlist ranked with quotes / timelines).audit-prep/ENGAGEMENT.mddocumenting the signed SOW: scope crates, out-of-scope crates, kickoff date, delivery milestones, escalation contacts, disclosure policy..github/workflows/audit-freeze.yml: readsaudit-prep/ENGAGEMENT.mdforfreeze_paths:andfreeze_until:YAML front-matter; fails any PR that touches a listed path while the freeze is active unless the PR carries theaudit-approvedlabel.stellar/MAINNET_READINESS.mdto reflect engagement status and check off Audit Security audit ofstealth-announcerSoroban contract #1 kick-off row.Acceptance.
[TBD]left inaudit-prep/README.mdoraudit-prep/AUDIT_FIRMS.mdaudit-prep/ENGAGEMENT.mdcontains signed-SOW summary (firm, scope crates, dates) with front-matter parsed by the workflowaudit-freeze.ymlfails a test PR that touches an in-scope crate without theaudit-approvedlabel (verified with a dry-run)stellar/MAINNET_READINESS.mdreflects the engagement state and links the ENGAGEMENT docFiles.
contracts/audit-prep/README.md,contracts/audit-prep/AUDIT_FIRMS.md,contracts/audit-prep/ENGAGEMENT.md(new),.github/workflows/audit-freeze.yml(new),stellar/MAINNET_READINESS.md.