Record index
contribution.index.toml
Contributions, namespace CN, at
.working/toml/contribution.index.toml.
About
A contribution records an artifact, fix, or proposal this project sent to a peer project,
with a delivery receipt: the outward counterpart to reference,
which records what comes in. It moves proposed to sent to
acknowledged or superseded, or from proposed to
withdrawn.
Why
Outbound work is an external action, so its claim ("we sent this") is gated: an assistant
lands sent/proposed, awaiting a maintainer's ratification that it was genuinely
sent, unless the adopter has declared a standing authorization for that named recipient. An
absent or malformed declaration fails closed, so gating stays on by default.
Description
The shared index shape with the standard envelope plus recipient,
dedup_class, content_digest, and the delivery bundle
{channel, ref, sent_at, receipt_ref?, receipted_at?}: channel, ref, and sent_at
are required once sent and forbidden before, and the receipt fields are legal only at
acknowledged. acknowledged is the single positive terminal (responded, adopted,
reshaped, or declined); the outcome lives in summary or an extension, never as a
state. A re-send is a new record linking supersedes. A contribution typically
links derives_from the internal finding, decision, or backlog item that
motivated it.
How it works
The sent gating rides the same single mechanism as block and preference-pattern
gating: an assistant or automation entering the gated state takes /proposed, and
only a maintainer, or a valid standing authorization for the declared recipient, lands the
bare grant. It carries no fleet-specific semantics; those ride a registered
x-<vendor> extension.
Generated view
CONTRIBUTIONS.md, composed from this index, plus the optional
CONTRIBUTION-INDEX.md mirror; both byte-drift-gated.
Value
An auditable record of the project's recorded outbound actions, with delivery evidence attached, which helps prevent an asserted send from reading as a settled fact before it is ratified or receipted.
Usage
- Created by:
opf init(empty index); a record per outbound artifact or proposal. - Updated by: the send transition (gated), acknowledgement with its receipt fields, supersession on re-send, or withdrawal.
- Read by:
opf render(CONTRIBUTIONS.md and the mirror);opf doctor(schema, the delivery-bundle completeness rules, gated-state legality).