STD-ARCH-005: 5-Axis Agent Harness Model¶
Status: PROVEN FINDING / BINDING ARCHITECTURE
1. 5-Axis Separation¶
Gas City and Bluefly agents must adhere to a strict separation of concerns across 5 independent axes. Domain packs must NOT hardcode providers or models.
AGENT
blu / drupal / witness / refinery / ...
↓ chooses
HARNESS
goose
claude
codex
...
↓ independently chooses
MODEL CLASS
reasoning
code
fast
review
↓ resolved through
UPSTREAM
LiteLLM Oracle
LiteLLM NAS
LM Studio Mac
Claude API
↓
RUNTIME
Oracle
Mac
optional NAS worker
2. Invariants¶
AGENT_IDENTITY != HARNESS(Drupal is Drupal, Goose is merely the executing harness)HARNESS != MODELMODEL != ENDPOINTENDPOINT != RUNTIME
3. Factory Requirements¶
GAS_CITY_OWNS_LIFECYCLE=YESHARNESS_IS_REPLACEABLE=YESMODEL_IS_REPLACEABLE=YES
Lifecycle hooks (e.g., SessionStart, Mail Draining, PreCompact) are Factory requirements, not Claude requirements. Any harness (Goose, Codex, etc.) must participate equivalently through Gas City's native connected-client lifecycle.
4. Current Findings¶
- Goose should be added as another harness recipe rather than baked into individual agents.
- DrupalWorks remains ignorant of the host Factory. Bluefly-specific composition lives in BluCity-Packs.
- Proposals for curated API surfaces and native Events supersede polling mechanisms (e.g., 30-second dashboard polling).