3.3 KiB
id, kind, command, default_severity, fire_on, description, category, matches, input_schema, output_schema, timeout_seconds
| id | kind | command | default_severity | fire_on | description | category | matches | input_schema | output_schema | timeout_seconds | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| claim-sources | deterministic | aidlc engine sensor-claim-sources | advisory | gate | Checks Intent Capture claims carry source tags that resolve to the stage's confirmed source register and answers | document-provenance | **/{aidlc-docs,intents}/** |
|
|
5 |
claim-sources sensor
Checks the existing Intent Capture deliverables as a set when the stage enters its approval gate.
For each deliverable, the sensor verifies:
- a
## Assumptions & Open Questionssection exists - every substantive paragraph, list item, and table data row has an inline
[desc],[scope],[Q<n>],[memory:<id>], or[assumption]tag - source-register entries are visible Markdown list items;
[desc]exactly matches the authoritative directions derived from committedproject-description.json(or the legacy state field),[scope]exactly matchesaidlc-state.md, and memory entries name the active space's stage-loadedorg.md,team.md, orproject.mdand exactly match a visible rule under the cited H2 - question tags resolve to visible filled answers in the sibling
intent-capture-questions.md - when the initial description contains
<document>, deliverables cannot use[desc]; request and document claims require confirmed[Q<n>] [scope]is used only for a workflow-selected Initial Scope Signal[assumption]appears only in the assumptions section- retained assumptions exactly match entries under an
## Assumption Confirmationanswered exactlyA. Accept assumptions
The sensor excludes scaffolding, fenced code, HTML comments, and any legacy
reviewer-added ## Review content still embedded in an artifact. It validates citation shape and resolution only; the
stage's adversarial reviewer judges whether the cited source actually supports
the claim.
A tag counts when the rendered document shows it as literal text. Bracket pairs
resolve as Markdown links only against a link reference definition the document
carries, so adjacent tags such as [Q1][Q2] remain two visible tags, while
[Q1] in a document that also defines [Q1]: <url> is a link and grounds
nothing. A definition requires a non-empty CommonMark label, a well-formed
destination, and a correctly separated optional title, inside a block quote or
list item as well as at the top level. Multiline destinations still resolve
references across the whole document. A line that merely looks like a
definition, such as [note]: some prose, is the visible sentence it renders as
and is inspected like any other claim; neither an inline title nor a different
container can hide the following line as title continuation.
Where this reading cannot afford full CommonMark, the divergence must land as a false failure and never as a false pass: the sensor may ask for a citation the document did not owe, but it must not let unsourced or invisible-tag content through.
Failure mode
Emits SENSOR_FAILED and writes detail listing missing sections, untagged
claim blocks, unresolved source ids, misplaced assumption tags, or an
unconfirmed assumption set.