Skip to content

[conformance/nits] Sweep the surfaces/tools nits: check-kind discovery, retirement census, and orphan-guard spec homes #424

Description

@StarshipSuperjam

The engine opened this item itself — you didn't create it.

What this is. A conformance audit of the build against the locked engine-planning design confirmed the divergences below (re-verified against current main) and grouped them into one build-session-sized unit for the surfaces-tools subsystem.

The low-severity items across the surfaces/tools family. The check validator hardcodes its kind REGISTRY to the core kinds and does not implement the presence-discovery the check README promises for a module-provided kind (loud fail-closed today, no v1 module ships a kind, so nothing is stranded -- but no decision scopes the mechanism out of v1). Two construction-only artifacts are missing from the v1 retirement census: a stray construction demo (demo_map_reachability.py) whose behavior is already regression-tested yet travels into every generated repo with no declared fate (one of nine such standalone demos), and a construction-scoped guard (memory_pointer_public_safety_check.py) that no-ops in deployed repos with no spec home. And seven build-side tool guards do their job well but have no home in the design canon -- each is a hardening beyond the spec's letter or a well-built check the spec never names -- sharing one risk: a future spec-faithful rebuild has no doc telling it to keep these protections. A build session realizes check-kind presence-discovery, adds the stray demo/guard to the retirement census (keep or drop, explicitly), and gives each orphan guard a one-line spec claim or logged decision. Note: homing several orphan guards touches locked/settled docs (litigation-class in aggregate) -- frame honestly as improvement_relitigate/spec_gap, never a silent build change; the orchestrator should confirm the spec absorptions. None of these is tracked by an open issue.

Findings in this unit:

  • U07: add presence-discovery of a module-provided conforming kind callable to the validator's kind registration, matching the check README's file-drop contract

  • U13: add demo_map_reachability.py (and audit the other eight standalone demos) to the first-run retirement set or retire it since its behavior is regression-tested; record memory_pointer_public_safety_check.py on the v1 construction-layer retirement census with an explicit keep/drop disposition

  • U14: give each orphan build-side guard a spec home -- a one-line claim in the owning README or a logged decision (agent_coherence_check read-only write-tool leg; shared github_client; uv_group_drift gate; weakening_guard listing-cap completeness property; knowledge_vocabulary_check; audit_soft_findings feed; untracked_surface signal) -- so the protections are traceable; no build behavior changes

  • Spec authority: systems/surfaces/check/README.md L84-88 (a module adds a kind by a conforming callable discovered by presence, not a wiring seam); decision-log.md D-112 / Q26-resolution L847; decision-log.md D-228 (a construction demo does not travel unless promoted; retired once a permanent regression test covers the behavior); the construction-repo retirement census (first-run-assets.json); systems/surfaces/agents/README.md:63-64,104-123; systems/guardrails/templates/README.md:38-39 + audits/README.md; wbs/stage-0-harness.md:118,135 + principles sec15; systems/cognitive/knowledge/README.md

  • Quality attributes: Composability, Auditability, Trustworthiness-for-a-non-engineer, traceability

What happens next. A single build session should clear this batch of low-blast-radius nits together. The engine opened it for your review.

More detail.

Metadata

Metadata

Assignees

No one assigned

    Labels

    engineOpened by the engine about its own health (not your product).

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions