Skip to content

docs: how-to guide for wiring a capability into the reference implementation - #3094

Open
sei-ahouseholder wants to merge 3 commits into
mainfrom
task/2974-wire-capability-howto
Open

docs: how-to guide for wiring a capability into the reference implementation#3094
sei-ahouseholder wants to merge 3 commits into
mainfrom
task/2974-wire-capability-howto

Conversation

@sei-ahouseholder

Copy link
Copy Markdown
Contributor

Summary

Adds docs/howto/wire_capability.md: a step-by-step how-to guide for developers who want to replace a call-out stub in the Vultron reference implementation with real logic. Covers the three-step process (identify → implement → wire) with a full worked example using EvaluateReportCredibility. Also adds the page to the mkdocs.yml How-to Guides nav.

Changes

  • docs/howto/wire_capability.md: new how-to covering call-out point identification (fuzzer node table, blackboard contract), CallOutBackendFactory implementation with the required setup() + attach_blackboard_client() + register_key() pattern, domain bundle wiring, tree builder integration, and a complete worked example.
  • mkdocs.yml: adds Wiring a Capability: 'howto/wire_capability.md' to the How-to Guides nav section.

Verification

  • uv run mkdocs build --strict passes (149s, no errors or warnings)
  • Black, flake8, mypy, pyright all clean
  • All code examples include the mandatory setup() + attach_blackboard_client() pattern (caught and fixed in pre-PR code review)

…nce implementation

Closes #2974

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@sei-ahouseholder sei-ahouseholder added the size:S ≤50 diff lines or 1-2 ACs label Sep 2, 2026
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@sei-ahouseholder

Copy link
Copy Markdown
Contributor Author

[ADVISORY] Code review finding — not blocking

The code review noted that returning Status.RUNNING from a call-out backend silently stalls the parent Sequence indefinitely. The guide now warns against this pattern. Infrastructure-level enforcement (a wrapper or assertion in the call-out node machinery that detects or rejects RUNNING) would prevent the silent stall but requires a separate issue — it would touch vultron/core/behaviors/call_out/ and possibly affect all call-out node plumbing, which is out of scope for a docs PR.

@sei-ahouseholder sei-ahouseholder left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Triage Report

PR #3094 — docs: how-to guide for wiring a capability into the reference implementation

Summary

Docs-only PR. Adds docs/howto/wire_capability.md — a step-by-step how-to for replacing a call-out stub with real backend logic. No Python code changes.

Phase Result
Issue linkage (#2974) ✅ All 5 ACs satisfied
PR body format ✅ Correct structure, Co-authored-by present
Domain context ✅ Docs only: docs/howto/, mkdocs.yml, docs/_acronyms/index.md
Spec conformance (DF-04) ✅ Goal-oriented, task-structured, prerequisites linked
ADR check ✅ No ADR needed (docs-only, no architectural change)
AGENTS.md compliance ✅ No Python code, MD013 disabled in linter config
Code reference accuracy ✅ All referenced symbols and paths verified to exist
Notes / docs currency ✅ No notes need updating; source notes unchanged
Test coverage ✅ Docs-only PR, no tests required
CI status ✅ All 5 checks passing (lint, docs-build-check, CodeQL, Analyze ×2)
Merge state ✅ MERGEABLE / CLEAN

Findings

None. This PR is ready for execute/verify.

Verification against AC

  • AC-1 ✅ Step 1 covers fuzzer-node discovery + blackboard contract reading
  • AC-2 ✅ Step 2 covers CallOutBackendFactory implementation patterns (with/without blackboard writes)
  • AC-3 ✅ Full worked example: EvaluateReportCredibility end-to-end
  • AC-4mkdocs.yml nav updated under How-to Guides
  • AC-5docs-build-check CI job: pass (149s, no errors)

@sei-ahouseholder sei-ahouseholder left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Execute Report

PR #3094 — docs: how-to guide for wiring a capability into the reference implementation

Findings Processed

None — triage found 0 findings.

CI Loop

Step Result
Sync with main ✅ Merged origin/main (58be810) cleanly — skill doc updates only
Local tests ✅ 8273 passed, 27 xfailed, 0 failures
Push ✅ Pushed 98036847d
CI ✅ All 5 checks passing

Final State

  • Merge state: MERGEABLE / CLEAN
  • CI: passing (CodeQL, docs-build-check, lint, Analyze ×2)
  • Draft: no

@sei-ahouseholder sei-ahouseholder left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Verify Report

PR #3094 — docs: how-to guide for wiring a capability into the reference implementation

Findings

# Finding Outcome Verdict
(none)

No findings from triage — nothing to spot-verify.

Status

Check Result
Merge state ✅ MERGEABLE / CLEAN
CI ✅ All 5 checks passing (CodeQL, docs-build-check, lint, Analyze ×2)
Findings verified ✅ 0 of 0
Draft ✅ Not a draft
Branch behind ✅ Up to date

Overall Verdict

READY-TO-MERGE

PR #3094 is clear: zero triage findings, all CI checks green, MERGEABLE/CLEAN.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S ≤50 diff lines or 1-2 ACs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Docs] How-to: wiring a capability into the reference implementation

2 participants