Discover and read existing records
Call orient, follow the relevant maps and discover the current tools. Use list_records with {"type":"decision"} or {"type":"policy"}. Read a match with get_record using {"id":"<returned dec- or pol- id>"}. An excluded record cannot be fetched by guessing its id.
For a decision, load the supported authoring procedure with get_skill:
{"name":"record-decision"}
If that skill is unavailable in the client, follow a compatible client or authorised authoring handoff. Do not invent a separate record-write tool.
Prepare the record
Read the saved source material first. Decisions belong in the decision area and use a unique dec- id; policies use the policy area and pol-. Required governance fields include id, type, title, status, owner, scope, confidence, decided_on, review_by and non-empty sources. The owner is the accountable person or actor, not automatically the drafting agent.
Keep dates in YYYY-MM-DD, confidence in low, medium, high, and status in active, superseded, retired. Scope and evidence are bounded single-line metadata; fuller reasoning belongs in the body. Follow the loaded skill and area contract for the complete document.
The body states the Decision, Rationale and genuine Alternatives. A commitment can be part of that decision and linked work; the typed read surface does not provide a separate commitment type.
Propose and read back
Use check_write when the record's required structure needs preflight. Submit the complete record through propose_write in the permitted destination. Preserve the supplied revision/base contract for replacements. Read whether it applied or is held; required human review remains separate from drafting.
After a reported application, call get_record and read the saved source. Check owner, scope, evidence and review date. A deterministic shape check does not validate the reasoning. Report the actual result and any remaining review request.
Supersede without rewriting history
Read the active predecessor. Write a new record of the same type with supersedes naming that predecessor. The target must be active, and the chain must not cycle. After approval/application, read both records and their effective status. The reader derives supersession from an active successor even if the predecessor's stored status flip is still pending.
Use list_records with {"overdue":true} to find records whose review date has passed. That read does not create a reminder or decide the next review date.
Related
Practical guides for people and agents