Repository navigation
Wesley Boundary Grammar #670
Description
Activity
- addedlegend:PLATFORMPlatform/infrastructure workPlatform/infrastructure work
on Jun 1, 2026 🔗 Related PRs
flyingrobots/echo#326 - Echo contract hosting roadmap [merged]
flyingrobots/echo#329 - Stack Witness 0001 fixture-backed jedit walking skeleton [merged]
flyingrobots/echo#344 - feat(wesley): consume canonical requirements artifacts [merged]
flyingrobots/echo#365 - feat(wesley): emit query observer host helpers [merged]
flyingrobots/echo#388 - docs(method): add backlog cards and hook failure note [merged]
📝 Issue Planner
Check the box below or use the
@coderabbitai plancommand to generate an implementation plan and prompts that you can use with your favorite coding assistant.- Create Plan
🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:issue_enrichment: auto_enrich: enabled: false
💬 Have feedback or questions? Drop into our discord!
- addedlegend:PLATFORMPlatform/infrastructure workPlatform/infrastructure work
on Jul 3, 2026 🔗 Related PRs
#389 - feat(echo): implement complete E0–E4 roadmap (22/22 tasks) [merged]
#391 - chore: consolidate roadmaps into single ROADMAP.md [merged]
#499 - test(stack): add Stack Witness 0001 fixture artifact shape [merged]
#504 - Compile runtime optic artifacts [merged]
#513 - expand parity fixture coverage [merged]
📝 Issue Planner
Check the box below or use the
@coderabbitai plancommand to generate an implementation plan and prompts that you can use with your favorite coding assistant.- Create Plan
🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:issue_enrichment: auto_enrich: enabled: false
💬 Have feedback or questions? Drop into our discord!
- addedtriage:requestsUnscheduled valid requests that still need a release scheduling decisionUnscheduled valid requests that still need a release scheduling decision
on Jul 5, 2026 Bookkeeping triage: restored the required scheduling-state label
triage:requests. This issue remains valid intake, but it is not selected for a named release lane yet.Roadmap reconsideration after the Rust-native reset:
Closing this as superseded/mixed legacy scope. The card bundles canonical hashing, hash-chain receipts, schema deltas, and runtime provenance query semantics from old Echo-era issues.
Current state and boundary:
- Wesley already has Rust-native schema hash / normalized SDL / IR hash surfaces.
- Wesley already has
schema diffand can grow a focused structural diff classifier underwesley diff <old-ir> <new-ir>: structural classifier for schema migrations #672. - Receipt/hash-chain/runtime provenance belongs to owning runtime/evidence systems, not a generic Wesley umbrella issue.
@tickquery semantics would introduce runtime meaning into the compiler core and conflicts with the domain-empty boundary unless owned by an external target.
Any remaining work should be filed as one focused current issue with current Rust CLI/crate names and an explicit owner.
Migrated from Method backlog
This issue was created from a legacy filesystem backlog card. GitHub Issues are now the live work tracker; repository docs remain Method evidence.
Source backlog:
docs/method/backlog/inbox/PLATFORM_wesley-boundary-grammar.mdOriginal lane:
inboxOriginal legend:
PLATFORMOriginal backlog card
Wesley Boundary Grammar
Remaining work on Wesley as a boundary grammar — canonical AST, schema hashing, schema evolution vocabulary, and provenance query semantics. These are foundational to the Phase 2 roadmap.
Issues: flyingrobots/echo#174, flyingrobots/echo#193, flyingrobots/echo#194, flyingrobots/echo#198
T-10-7-1: Hashable View Artifacts (#174)
User Story: As the Wesley pipeline, I want canonical AST hashing for view artifacts so that any change to a schema produces a detectable and verifiable hash change.
Requirements:
hash_artifact(ast) -> SHA-256over the normalized formAcceptance Criteria:
hash_artifact()produces identical hashes for semantically identical schemasDefinition of Done:
Scope: AST normalization, hashing, IR integration.
Out of Scope: Hash chain pinning (T-10-7-2), schema evolution, proof objects.
Test Plan:
hash(normalize(a)) == hash(normalize(b))whenaandbare syntactic variantsBlocked By: none
Blocking: T-10-7-2
Est. Hours: 5h
Expected Complexity: ~350 LoC
T-10-7-2: Schema Hash Chain Pinning (#193)
User Story: As an operator replaying a simulation, I want schema hashes pinned in receipts so that I can verify the exact schema version used at each tick.
Requirements:
H(n) = SHA-256(H(n-1) || artifact_hash(n))Acceptance Criteria:
schema_hash_chainfieldverify_schema_chain(receipts, artifacts) -> boolreturns true for valid chainsDefinition of Done:
Scope: Hash chain computation, receipt integration, verification.
Out of Scope: Chain storage backend, pruning old chain entries.
Test Plan:
Blocked By: T-10-7-1
Blocking: none
Est. Hours: 4h
Expected Complexity: ~250 LoC
T-10-7-3: SchemaDelta Vocabulary (#194)
User Story: As a schema author, I want a read-only schema delta vocabulary so that I can preview what would change before applying a schema migration.
Requirements:
SchemaDeltatype with variants:AddField,RemoveField,ChangeType,RenameField,AddEntity,RemoveEntitydiff(old_ir, new_ir) -> Vec<SchemaDelta>wesley patch --dry-runthat prints deltas without applying themAcceptance Criteria:
diff()correctly identifies all six delta variantswesley patch --dry-runprints deltas and exits without modifying anythingjqDefinition of Done:
Scope: Delta types, diff function, dry-run CLI.
Out of Scope: Apply/migrate logic, rollback, three-way merge.
Test Plan:
Blocked By: none
Blocking: none
Est. Hours: 5h
Expected Complexity: ~350 LoC
T-10-7-4: Provenance as Query Semantics (#198)
User Story: As a simulation analyst, I want provenance tracking built into query semantics so that every query result carries proof of its derivation.
Requirements:
tickdirective that annotates a query with the simulation tick it refers toAcceptance Criteria:
@tick(n)return results scoped to ticknDefinition of Done:
Scope: Tick directive, proof objects, deterministic cursors.
Out of Scope: Proof verification UI, proof compression, cross-simulation provenance.
Test Plan:
Blocked By: T-10-7-2
Blocking: none
Est. Hours: 6h
Expected Complexity: ~450 LoC