Capabilities should be refactored into skill bundles - not autonomous entities #114
Labels
No labels
blocked:children
blocked:commit-ready-failed
blocked:depends-231
blocked:depends-236
blocked:depends-237
blocked:depends-238
blocked:depends-239
blocked:gate-fetch
blocked:gate-fetch
blocked:gate-lint
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:no-changes
blocked:no-procedure
blocked:preflight
blocked:verify-failed
bug
enhancement
feature-request
high-priority
in-progress
lint-cleanup
needs-decompose
needs-triage
ops-retry
ops-task
phase-5
quickfix
security/medium
self-building
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/mesh-seed#114
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Architecture Violation
Capabilities are currently treated as autonomous entities throughout the codebase - they have backplane access, emit signals, subscribe to channels. This violates the fundamental architecture principle.
Correct Architecture
Per AGENTS.md and docs/primitives.md:
Current Incorrect Behavior
Evidence of capability-as-entity violations:
result.committed)Required Fix
Refactor all capability code to be:
Impact
This is foundational to the architecture. Without this fix:
References
Clarification on Correct Architecture
After discussion, the correct model is clearer:
Capabilities = Intent Contract Definitions
Capabilities should define the contract being bid upon:
write_article)Workers Bid on Intent Types via Capabilities
Workers advertise which capabilities they have. When an intent arrives, workers with matching capabilities bid. The capability is the contract/interface definition.
Implementation Still Worker-Centric
What This Means for Refactoring
This aligns with AGENTS.md routing section on Contract-Intent Binding and docs/primitives.md.
Contract as New Primitive - Actualized Intent on Ledger
Building on the clarification above, I propose introducing Contract as a distinct primitive:
Current Intent Model (Fuzzy)
Intents are fuzzy requests without formal validation schemas.
Contract Primitive (Actualized Intent)
Flow: Intent → Contract → Execution
Why This Helps
Implementation Path
ContractRecordto ledger schemacapabilities/_contracts/This aligns with smart contract patterns - the contract IS the actualized intent, defining the transaction terms before execution.
Complete Architecture Flow (Based on User Clarification)
Correct Terminology:
Complete Flow:
Key Invariants:
Current Code Violations:
Every place the code says "capability" it means one of three different things:
This is a three-way terminology collision causing systemic confusion.
References
Ops Pipeline — BLOCKED
Research could not determine a clear ops procedure.
[subagent-0] ⚠️ Unknown tool 'grep' — sending error to model for self-correction (1/3)
Now I have a complete picture. Here's the full analysis:
HOST: localhost (~/Projects/mesh-seed/)
STATUS: BLOCKED
EVIDENCE: Comprehensive codebase analysis confirms Issue #114's violation claim is accurate. Two clear violations and one derivative violation exist. The remaining 25+ capabilities under primitives/_muscle/ and primitives/_nerve/ correctly follow the passive template/skill-bundle pattern.
🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry🤖 [
quickfix-mesh-seed-114] still working — overseer retry