Skip to content

contractlint: resolve Skill() cross-file prose pointers in the dangler oracle#459

Merged
clkao merged 1 commit into
mainfrom
spacedock-ensign/contractlint-dangler-oracle-skill-idiom
Jul 2, 2026
Merged

contractlint: resolve Skill() cross-file prose pointers in the dangler oracle#459
clkao merged 1 commit into
mainfrom
spacedock-ensign/contractlint-dangler-oracle-skill-idiom

Conversation

@clkao

@clkao clkao commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

Teach the contractlint dangler-oracle to resolve the Skill() cross-file pointer idiom nt introduced, so a future contract line pointing at a watched section via Skill(skill="spacedock:...") no longer false-fails as dangling.

What changed

  • referenceProsePointerDanglers now resolves a watched-section prose pointer when the context names the owning skill via the spacedock: token (section->owner reverse map from deferredSkillCores).
  • Extended the guard battery: Skill-form owner-matched resolves (0); a wrong-owner token still dangles (>=1) — owner-specific, not a blanket suppressor.

Evidence

  • go test ./internal/contractlint/ green: the 4/4 classification battery, plus the real fo-status-viewer/fo-write-core bodies stay 0 danglers; the no-surviving-dead-reference guard stays green.
  • RED-then-GREEN: the owner-matched row failed pre-fix (latent false-fail was real) and passes after; the wrong-owner row stays red (non-weakening).

fez

…acle

Teach referenceProsePointerDanglers a third resolution path alongside
intra-file heading and references/*.md token: a watched-section prose
pointer resolves when the same line names the section's owning skill via
the Skill(skill="spacedock:<owner>") idiom nt introduced. Replace
watchedSectionNames()->sectionOwners() map[string]string (keys = watched
set) as the single source of truth; resolution is additive and
owner-specific, so a wrong-owner token does not suppress a genuine
dangler. Extend the control into a 5-row table-driven battery adding the
Skill-form owner-matched (resolves) and wrong-owner (still dangles) rows.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@clkao
clkao merged commit 972e2fb into main Jul 2, 2026
4 of 8 checks passed
@clkao
clkao deleted the spacedock-ensign/contractlint-dangler-oracle-skill-idiom branch July 2, 2026 01:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant