write-adr
Propose and draft a new Architecture Decision Record (ADR) in MADR format for Tyrne.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Propose and draft a new Architecture Decision Record (ADR) in MADR format for Tyrne.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Add a new Board Support Package (BSP) crate to the Tyrne workspace — from crate skeleton through boot checklist to first QEMU or hardware boot.
Run an independent verification pass over artefacts in `Proposed` / `In Review` waiting-for-promotion states. Distinct from code-review (style + correctness on a diff) and security-review (adversarial axis pass) — this skill verifies that the artefacts' claims about their own state match reality and produces a Done-promotion verdict.
Produce a review artifact in `docs/analysis/reviews/<type>-reviews/`, following that type's master plan. Works for business / code / security / performance-optimization reviews.
Change an existing Tyrne standard correctly — write or update the motivating ADR first, then update the standard file.
Add a new Rust crate to the Tyrne workspace following the dependency policy in `infrastructure.md`.
Introduce or audit an `unsafe` region in Tyrne — writing the `SAFETY:` comment, adding the audit-log entry, and queuing security review.
| name | write-adr |
| description | Propose and draft a new Architecture Decision Record (ADR) in MADR format for Tyrne. |
| when-to-use | When a non-trivial architectural, security, platform, or process decision is being made, or when a change depends on a decision that has not yet been recorded. |
Before starting, the agent must have:
kernel-allocator, log-wire-format).Determine the next ADR number.
docs/decisions/ matching NNNN-*.md.Create the file at docs/decisions/NNNN-<slug>.md.
Copy the shape from docs/decisions/template.md. Do not skip sections.
Fill the header:
Status: Proposed (or Accepted if the decision is being recorded after the fact, with agreement from the maintainer — this is the retroactive-recovery exception; see anti-pattern 5 and the acceptance-criterion note below for how it reconciles with the "Accept is never in the same commit as the initial draft" rule. A retroactive ADR is a recovery move and must be marked explicitly in §Context.).Date: today's date in ISO-8601 (YYYY-MM-DD).Deciders: @cemililik (add others if applicable).Fill the body:
(state-pre, action, state-post, switch target / observable effect). Required for ADRs whose subject is a state machine: capability flows (cap_copy / cap_derive / cap_revoke), IPC handshakes (send / recv / notify), scheduler dispatch (yield_now / start / IPC bridge), exception / IRQ entry, MMU / TLB transitions, syscall ABI handshakes. Omitted with a one-line "Not applicable — this ADR settles a single-shape decision" note for process / governance / dependency-policy / single-decision ADRs. Codified after ADR-0026's table caught what ADR-0022's prose-only reasoning had missed; the 2026-05-07 B1 closure retro §"What we learned" is the source.unsafe-touching step (or both, for transitions whose verification spans both layers). The implementing task's review-history row records this mapping explicitly — for example row 0 → wrap_bootstrap_returns_address_space_with_root host test; row 3 → yield_now_activates_when_tasks_differ_in_address_space + UNSAFE-2026-0014 5th Amendment. Rationale: prose-only ADR review cannot catch off-by-one transition errors; pairing every row with executable / audited verification forces the implementer to discharge each simulated state-change with a concrete artefact and surfaces gaps before merge. The pattern is stable at four data points — ADR-0026 row → T-014's unblock_after_yield_dispatches_unblocked_receiver_not_idle test; ADR-0032 rows → T-015's ipc_cancel_recv regression tests + UNSAFE-2026-0014 4th Amendment; ADR-0027 rows → T-016's vmsav8 encoder host tests + UNSAFE-2026-0022 / 0023 / 0024 / 0025 audit entries; ADR-0028 rows → T-018's address_space::tests + UNSAFE-2026-0014 5th Amendment. The codification was deferred for two closure trios (B2 → B3) before the B3 closure retro §Adjustments re-triggered it.Check for contradictions with prior ADRs.
Update the ADR index at docs/decisions/README.md:
| NNNN | [Title](NNNN-slug.md) | Proposed | YYYY-MM-DD |.Cross-link the new ADR from any standard or architecture document that motivated it.
Commit per commit-style.md:
docs(adr): propose ADR-NNNN — <short title>.Refs: ADR-NNNN.Careful re-read before Accept. The ADR lands at status Proposed. Before flipping to Accepted, re-read the ADR end-to-end — out loud or in a fresh editor pane — paying particular attention to: (a) every forward-reference points at a real T-NNN (per ADR-0025 §Rule 1); (b) the dependency chain is complete and each step's slot exists; (c) the Negative consequences are real costs the project is willing to pay, not hand-waved mitigations. An earlier draft of ADR-0025 imposed a hard 24-hour cool-down between Proposed and Accepted — that rule was withdrawn before Accept on maintainer judgement that the substance (deliberate re-reading) is achievable through this step plus independent agent reviews, without a calendar delay (see ADR-0025 §Revision notes). Same-day Accept is therefore permitted, provided this re-read step actually happens; if the re-read surfaces a gap, fix it and re-read again before flipping the status. Accept is a separate commit from the initial Propose commit so that the careful-re-read pass shows up as its own diff.
docs/decisions/NNNN-<slug>.md.<angle-bracket> placeholders from the template).docs/decisions/README.md has the new row.Proposed. The Propose commit is separate from any subsequent Accept commit so the careful-re-read pass shows up as its own diff. Accept may follow same-day after the re-read of step 10 (no calendar gate per ADR-0025 §Revision notes), but never in the same commit as the initial draft.<Option A> in the pros-and-cons section is a failed review.Proposed → Accepted in the same diff as the initial draft (or without a real second pass) is the failure mode that ADR-0025's withdrawn cool-down rule was originally trying to prevent — the rule was withdrawn, the discipline was not.Draft. (Per ADR-0025 §Rule 1.)