Skip to content

Commit 58e41f3

Browse files
hyperpolymathclaude
andcommitted
feat(schema): panll-harness/v2 binary_star object for architecture declaration
Panels relate to the Binary Star architecture (panes A/L/N/W) by flow and viewing perspective, not single-pane membership. v2 had no schema fields to express this, blocking work on consumers (hypatia#197, hypatia#177). Adds an optional `binary_star` object to panll-harness/v2 with four optional sub-fields: - spans — panes the panel inhabits (primary state or computation) - flow — ordered sequence of pane letters describing data/control movement; order matters, repeats allowed - surfaces_in — panes where outputs become visible to other panels - perspective — vantage point within the architecture; canonical values: "observer", "meta-observer", "actor", "sensor", "transformer" Pane letters constrained to enum [A, L, N, W] for spans/flow/surfaces_in. Backward compatible: all fields optional; existing valid v2 manifests remain valid. Schema $id and $schema const unchanged — still v2. Example (Hypatia): [binary_star] spans = ["L", "N"] flow = ["L", "N", "W"] surfaces_in = ["W"] perspective = "meta-observer" CHANGELOG entry added. Unblocks hyperpolymath/hypatia#197. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent ea613c5 commit 58e41f3

2 files changed

Lines changed: 50 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Added (2026-05-11 — Harness schema: Binary Star architecture declaration)
11+
- **`binary_star` object in panll-harness-v2 schema** — panels can now declare
12+
their relationship to the Binary Star architecture (panes A/L/N/W) via
13+
four optional fields:
14+
- `spans` — panes the panel inhabits (primary state or computation)
15+
- `flow` — ordered sequence describing data/control movement
16+
- `surfaces_in` — panes where outputs become visible to other panels
17+
- `perspective` — vantage point (canonical: observer, meta-observer, actor,
18+
sensor, transformer)
19+
20+
Backward compatible: all fields optional, existing valid v2 manifests remain
21+
valid. Unblocks `hyperpolymath/hypatia#197` and `hyperpolymath/hypatia#177`.
22+
1023
### Fixed (2024-04-15 — v0.2.0 Panic Attack Remediation)
1124
- **Critical Build Issues** — Resolved 37 compilation errors and warnings during panic attack:
1225
- Fixed `http_client` import syntax in `service_registry.rs`

schema/panll-harness-v2.schema.json

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,43 @@
119119
"type": "string",
120120
"description": "Clade taxonomy path for topic-based event routing"
121121
},
122+
"binary_star": {
123+
"type": "object",
124+
"description": "Declares this panel's relationship to the Binary Star architecture. Panels do not belong to a single pane — they span, flow between, and surface in panes by role. Pane letters: A (Ambient), L (Logic / symbolic), N (Neural), W (World).",
125+
"properties": {
126+
"spans": {
127+
"type": "array",
128+
"items": {
129+
"type": "string",
130+
"enum": ["A", "L", "N", "W"]
131+
},
132+
"uniqueItems": true,
133+
"description": "Panes this panel inhabits (i.e. holds primary state or computation in). A panel may span multiple panes; e.g. a meta-observer that holds both a rules engine (L) and neural models (N) declares spans = [\"L\", \"N\"]."
134+
},
135+
"flow": {
136+
"type": "array",
137+
"items": {
138+
"type": "string",
139+
"enum": ["A", "L", "N", "W"]
140+
},
141+
"description": "Ordered sequence of pane letters describing how data or control moves through the panel's pipeline. Order matters; repeats are allowed (a loop returning to L is flow = [\"L\", \"N\", \"L\"])."
142+
},
143+
"surfaces_in": {
144+
"type": "array",
145+
"items": {
146+
"type": "string",
147+
"enum": ["A", "L", "N", "W"]
148+
},
149+
"uniqueItems": true,
150+
"description": "Panes where this panel's outputs (findings, dispatches, view updates) become visible to other panels. Typically a subset of, or disjoint from, spans — e.g. a panel that spans [L, N] may surface its dispatches in W."
151+
},
152+
"perspective": {
153+
"type": "string",
154+
"description": "Vantage point or role within the Binary Star architecture. Canonical values: \"observer\" (reads/displays state), \"meta-observer\" (observes other panels' state), \"actor\" (takes actions on the world), \"sensor\" (raw data ingestion), \"transformer\" (converts data between panes). Other values permitted but should be added to this enum over time."
155+
}
156+
},
157+
"additionalProperties": false
158+
},
122159
"integrations": {
123160
"type": "object",
124161
"description": "Connections to other PanLL services",

0 commit comments

Comments
 (0)