Harness-independent execution backend: architecture boundary, semantic harness contract and local-transport policy (D-056, program #132) #146
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
P1
P2
P3
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Creatidy/scarcity-router#146
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-only child of program #132 (docs amendment; no production behavior). Baseline verified 2026-09-27:
develop@a573af5(PRs #142/#144/#145 merged); next free decision number D-056 (checkeddocs/decisions.md).Problem
Program #132's children are framed around the ZCode representative client. The product's actual claim is broader and must be stated explicitly: Scarcity Router is a harness-independent execution backend. ZCode is merely the first demanding representative harness that exposed gaps in the execution contract. The intended client population includes ZCode, Kilo, Cline, other coding-agent harnesses, OpenAI-compatible SDK clients, simple scripts and our own future agent/orchestration algorithms. A harness must not need Scarcity-Router-specific hacks merely to use a model.
Scope (frozen — ONE coherent docs PR)
Precise amendments to existing authoritative documents (
docs/decisions.md,docs/architecture.md,docs/execution-surface.md,docs/security.md,docs/product.md, and a boundary note indocs/worker-protocol.mdonly if required). New decision D-056. No new design document; no parallel architecture.tool_callreturned to harness → harness executes under the HARNESS permission model → harness sends result → router transports continuation → backend continues. Router/worker never execute client-owned tools; backend-native tools are a distinct capability domain never presented as client tool calls. An execution source that cannot implement the contract is ineligible for tool-requiring requests — a source limitation, never an architecture limitation.sr-pin:stays the explicit escape hatch; logical ids are the normal harness path; D-054 max-only semantics untouched.0.0.0.0plaintext listener; (C) cross-host/LAN/VPN/remote = TLS required, VPN not automatically local; (D) remote TLS UX: public FQDN + publicly trusted cert + automated renewal is the normal path, private CA advanced; never verify=false/bypass/TOFU/silent HTTPS→HTTP; scheme changes explicit; (E) worker transport security unchanged.sr-pin:, worker ids, CA hacks, custom reasoning JSON, hidden output-limit reductions or source knowledge in the normal path.if zcode/if kilo/if clinein the routing core; edge-only bounded normalization of unambiguous dialect syntax.Non-goals
No implementation of #136, #137, #138, #139, #140; no TLS automation; no worker service changes; no
mainpromotion; no deploy/release; no client-specific hacks. Architecture text must clearly separate current implemented behavior, newly accepted architecture and deferred implementation; never describe a target as already implemented.Validation
Docs-only full gate:
uv sync --only-dev,make check,uv run basedpyright,git diff --check; cross-document consistency against D-053/D-054/D-055, security, execution surface.Acceptance
One architecture PR against
develop, left open at READY_FOR_REVIEW; independent owner review (GPT-5.6 Sol) before any merge; worker never merges.