Specs and the AI

The AI in the chat panel reads and changes specs through the spec_* and reverse_spec_* tools of the Tracemoor MCP server. Reading works in every session mode. Tools that write need Brave mode. See Session modes.

What the AI does with specs

Tracemoor gives the AI these working rules with every session:

  • Before changing a symbol, look up the specs anchored to it. A spec is a constraint: if a change contradicts it, say so instead of overriding it.
  • When answering a question about a symbol, name the specs that cover it.
  • Create drafts only with reverse_spec_create_draft. A spec file written by hand has no database entry and does not appear in the Specs view.

The rules are instructions to the AI, not checks. Review what the AI changed in the Specs view.

The AI finds specs by meaning as well: projectdocs_semantic_search with source: spec searches spec texts, also across languages. See Project context.

Anchors during refactoring

Before the AI renames, moves or deletes a symbol, it looks up the anchors with spec_anchors_for_symbol. In the same step as the code change it moves each anchor to the new symbol with spec_reanchor. If the new symbol is not clear, it leaves the anchor as it is and reports it. The anchor then shows missing or suspect in the Specs view.

Approval by the AI

In profiles with signatures, spec_set_status accepts a transition to approved or rejected only with the signing passphrase. Do not type the passphrase into the chat. The AI asks for approval with spec_request_batch_approval instead. The request appears as a banner in the Specs view: "AI requests approved of N artifacts" with the reason. Review & Sign opens the signature dialog for the whole batch, Dismiss discards the request.

The AI links specs with ce://spec?id=<ID>, for example ce://spec?id=FS-66EP13. Clicking one opens the spec in the Specs view.

Tools

Read

ToolPurpose
spec_listAll artifacts, filtered by type or status.
spec_readOne artifact with frontmatter and body.
spec_searchFull-text search over the spec texts.
spec_profile_activeActive profile: types, link types, statuses, trace chain.
spec_templateTemplate sections of a type, for structured drafts.
spec_anchors_for_symbolSpecs anchored to a symbol.
spec_symbols_for_artifactSymbols anchored by a spec, with their state.
spec_suspect_anchorsAll suspect anchors.
spec_coverage_summary, spec_coverage_for_symbol, spec_coverage_for_file, spec_coverage_for_cluster, spec_coverage_gaps, spec_coverage_overlayCoverage. See Coverage.
spec_traceability_matrix, spec_export_matrix_markdownTraceability matrix.
spec_decompose_strategies, spec_decompose_candidatesGroups of symbols for drafts.
reverse_spec_list_drafts, reverse_spec_run_statusDrafts and runs.
spec_list_approval_requests, spec_signing_status, spec_verify_signature, spec_verify_audit_chainApproval requests, signatures, audit trail.
spec_reindex, spec_resolve_all_anchorsRead the spec files again, resolve all anchors again.

Write (Brave mode)

ToolPurpose
spec_createCreate an artifact.
spec_update_body, spec_set_fieldChange the body or a field.
spec_set_status, spec_batch_set_statusChange the status. Signed transitions need the passphrase.
spec_request_batch_approvalAsk for approval of several artifacts.
spec_add_anchor, spec_add_anchors_batch, spec_remove_anchorMaintain anchors. With ref=<reference> for a symbol of a reference project.
spec_reanchorMove an anchor to another symbol.
spec_resolve_suspectConfirm a suspect anchor with a reason.
spec_add_link, spec_remove_linkMaintain links. The inverse link is written as well.
reverse_spec_create_draftCreate a draft.
reverse_spec_accept_draft, reverse_spec_discard_draftAccept or discard a draft.
reverse_spec_run_startStart a reverse-spec run in the background (claude -p). Not meant for use from the chat.
spec_set_signer_profile, spec_register_signerSigner identity. See Signatures.