Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Ontology Owner Decision Contract

Source artifact class: working draft

## Motivating concern

SpecGraph can display closed-loop Ontology evidence, but it does not yet have a
typed report contract for the accepted/rejected decisions that Ontology owners
will return for reviewed delta candidates.

## Bounded scope

Add a deterministic `ontology_owner_decision_report` artifact under `runs/` that
models Ontology owner decisions as read-only evidence. The report carries
decision ids, candidate ids, intake ids, decision state, Ontology decision refs,
decision actor/time, accepted/rejected state, matched closed-loop evidence
state, and explicit false SpecGraph import, gate-close, and canonical mutation
flags. Decisions that do not match pending Ontology owner closed-loop evidence
are ignored with diagnostics rather than emitted as valid decision evidence.

This slice must not import decisions into SpecGraph, mark candidates accepted,
close semantic gates, write Ontology packages, update ontology lockfiles, mutate
canonical specs, invoke prompt agents, parse arbitrary text, or run ontologyc.

## Acceptance sketch

- Declare the owner decision report layout and contract in
`tools/ontology_semantic_control_policy.json`.
- Build `runs/ontology_owner_decision_report.json` from a typed owner-decision
fixture and existing closed-loop evidence source refs.
- Validate accepted/rejected/clarification states against pending closed-loop
evidence and reject import authority.
- Cover artifact shape, write path, authority rejection, and `make
ontology-imports` output in focused tests.
- Register proposal `0114` in promotion and runtime registries.

## Next gap

```text
build_ontology_decision_import_preview
```
129 changes: 129 additions & 0 deletions docs/proposals/0114_ontology_owner_decision_contract.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# Ontology Owner Decision Contract

RFC: SG-RFC-0114
Version: 0.1.0

## Status

Implemented

Decision scope: typed read-only owner decision report for accepted/rejected
Ontology owner decisions.

This document does not import owner decisions into SpecGraph, write Ontology
packages, update ontology lockfiles, mutate canonical SpecGraph specs, mark
candidate terms accepted, close semantic gates, invoke prompt agents, parse
arbitrary text, or run ontologyc.

## Source Material

This proposal implements the next bounded runtime slice after
`0113_ontology_review_dashboard`.

Source draft:

- `docs/archive/proposal_sources/0114_ontology_owner_decision_contract.md`

## Summary

SpecGraph now emits a deterministic owner decision report artifact:

```text
runs/ontology_owner_decision_report.json
```

The artifact provides a typed contract for Ontology-supplied accepted/rejected
decisions while keeping those decisions as review evidence only. Decisions must
match closed-loop evidence that is pending Ontology owner review; stale,
blocked, or unmatched fixture decisions are reported as ignored inputs instead
of being emitted as usable decision evidence. A later import preview slice
decides how valid decisions would affect SpecGraph.

## Goals

- Add `ontology_owner_decision_report` to the semantic policy layout.
- Define accepted, rejected, and clarification decision states.
- Preserve Ontology decision refs, candidate ids, intake ids, decision actor,
decision time, accepted-delta status, and matched closed-loop evidence state.
- Filter blocked, stale, or unmatched fixture decisions into ignored decision
diagnostics.
- Reject SpecGraph import, semantic gate closure, canonical mutation, prompt
execution, and Ontology package/lockfile write authority.
- Cover report shape, write path, authority boundary, and registry trace in
tests.

## Non-Goals

- Applying owner decisions to SpecGraph specs.
- Marking candidates accepted in canonical SpecGraph state.
- Closing semantic gates.
- Writing Ontology packages or lockfiles.
- Adding SpecSpace mutation UI.

## Runtime Contract

The report artifact declares:

```json
{
"artifact_kind": "ontology_owner_decision_report",
"schema_version": 1,
"proposal_id": "0114",
"source_artifacts": {
"ontology_closed_loop_evidence": "runs/ontology_closed_loop_evidence.json"
},
"canonical_mutations_allowed": false,
"tracked_artifacts_written": false,
"decisions": [],
"ignored_decisions": []
}
```

Each decision records:

- decision id;
- candidate id;
- intake id;
- decision state;
- Ontology decision ref;
- decision actor and timestamp;
- accepted-delta flag;
- matched closed-loop evidence id;
- matched evidence and intake states;
- explicit false SpecGraph import, gate-close, and canonical mutation flags.

Ignored decisions record decision identity, source state when present, and the
reason they were not emitted as decision evidence.

## Authority Boundary

The report may be used as owner-decision evidence by later import previews.

The report may not:

- import decisions into SpecGraph;
- mark candidates accepted;
- close semantic gates;
- mutate canonical specs;
- write Ontology packages;
- update ontology lockfiles;
- execute prompt agents.

## Acceptance

This slice is complete when:

- `tools/ontology_semantic_control_policy.json` declares
`ontology_owner_decision_report`;
- `tools/ontology_imports.py` builds and validates the owner decision report;
- `make ontology-imports` writes `runs/ontology_owner_decision_report.json`;
- focused tests cover accepted/rejected report shape, ignored invalid decisions,
write path, and authority boundary;
- proposal `0114` is tracked in promotion and runtime registries;
- proposal gates, DocC sync, and focused Python tests pass.

## Next Gap

```text
build_ontology_decision_import_preview
```
4 changes: 4 additions & 0 deletions docs/supervisor_manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -1646,6 +1646,10 @@ authoritative.
- richer read-only SpecGraph/SpecSpace dashboard projection combining the
semantic review surface, supervisor semantic gate, delta draft intake, and
closed-loop evidence without importing owner decisions or mutating specs
- `runs/ontology_owner_decision_report.json`
- typed read-only Ontology owner decision report carrying accepted/rejected
decision evidence for later import previews without closing gates or
mutating canonical specs

### Queue and proposal surfaces

Expand Down
Loading