3f75d59598
Closes the cycle-0090 (#156) work and delivers the "Topology-as-data: blueprint serialization & loader (C24)" milestone. Cycle-0090 audit (architect drift review, range 7ad7f58..HEAD): drift-clean on substance. Tier-1 forward-tolerance is genuinely serde-default (deny_unknown_fields = 0 in every production struct), pinned at envelope + primitive across both the in-crate and public-seam tests; Tier-2 refusals real and green; no struct/signature/runtime change; the invariant-5 acyclicity lockstep (construction gate <-> bootstrap Kahn sort) undisturbed; invariant-9 resolver stays injected, no registry. The one medium item the architect flagged — the C24 Remaining block carried no deferral signal for #158/#159 — is fixed in this commit's ledger update. Milestone fieldtest (fieldtests/milestone-topology-as-data/, the close-gate evidence): GREEN, 0 behavioural bugs. A downstream consumer ran the full author -> serialize -> load -> construct -> introspect -> reproduce story from the public surface alone — round-trip bit-exact on both authoring surfaces (Rust builder + op-script CLI), build-free introspection, Tier-1/Tier-2 forward-compat by name, fail-fast diagnostics by identifier. Verified the headline claims myself (the two Rust binaries + the CLI build/diff + the fail-fast exits), not just the agent's report. Findings triaged to the forward queue (none blocking): op-script grammar undocumented + a stale cycle-0088 example (#163); canonical trailing-newline divergence + Composite Debug/PartialEq ergonomics (#164); CLI discoverability of build/introspect + no `graph run` (commented on #159); the newline as a content-addressing prerequisite (commented on #158). #158 (content-address topology in the manifest) and #159 (retire the hard-wired harnesses) were moved OUT of this milestone: both are premature until the World generates runs from blueprint-data (commit still fully identifies every hard-wired topology), so they belong to the project-as-crate / World cycle. The C24 ledger Status records the delivery and the deferral. Ephemeral cycle-0090 spec + plan removed per the lifecycle convention. The Gitea milestone container is closed on user ratification (this run tees up the close, does not click it).
34 lines
1.2 KiB
TOML
34 lines
1.2 KiB
TOML
# Milestone fieldtest consumer crate — Topology-as-data (C24): blueprint
|
|
# serialization & loader + the construction service.
|
|
#
|
|
# A standalone downstream project (the shape a C16 research project takes):
|
|
# path-deps on the engine crates only. It drives the C24 surface — GraphBuilder
|
|
# authoring, blueprint_to_json / blueprint_from_json, std_vocabulary resolution,
|
|
# and the run/round-trip path — from the PUBLIC interface only. No crates/*/src
|
|
# was read; the API was discovered from the design ledger (docs/design/INDEX.md,
|
|
# C24), `cargo doc` doc-comments, the CLI's own `aura graph build/introspect`
|
|
# output, and the public re-exports.
|
|
#
|
|
# Empty [workspace] table: this fixture crate is its OWN workspace root, so it
|
|
# is not pulled into the aura engine workspace.
|
|
[workspace]
|
|
|
|
[package]
|
|
name = "ms-topology-as-data-fieldtest"
|
|
edition = "2024"
|
|
version = "0.0.0"
|
|
publish = false
|
|
|
|
[[bin]]
|
|
name = "mt_1_roundtrip"
|
|
path = "mt_1_roundtrip.rs"
|
|
|
|
[[bin]]
|
|
name = "mt_4_forward_compat"
|
|
path = "mt_4_forward_compat.rs"
|
|
|
|
[dependencies]
|
|
aura-core = { path = "../../crates/aura-core" }
|
|
aura-std = { path = "../../crates/aura-std" }
|
|
aura-engine = { path = "../../crates/aura-engine" }
|