Commit Graph

7 Commits

Author SHA1 Message Date
kashorin fd2387b738 refactor(build): finalize result-oriented execution model 2026-09-03 13:28:06 +08:00
kashorin e8dc1d07b6 refactor(runtime): replace content-addressed artifacts with resources 2026-09-03 13:25:57 +08:00
rpone df23c73d97 refactor: rebrand Narratage as Hypit 2026-08-19 15:51:58 +08:00
kashorin 7683e38c0e refactor: remove defensive execution scaffolding 2026-08-17 14:03:53 +08:00
kashorin 3a7c60f8cb refactor: simplify package loading and runtime execution 2026-08-17 14:03:52 +08:00
kashorin 39ff01aeca refactor: simplify graph realization and local workflow 2026-08-12 15:38:06 +08:00
kashorin 4d4273f3d3 test: pin the two things every other package's identity rests on
protocol and runtime-adapter had no tests of their own. Both are load
bearing in the same way: a digest computed here is what a Build, a
package lock and a Runtime Profile are addressed by, so a change in
either is a change to the meaning of records already written down.

The protocol tests are about one property — values that mean the same
thing digest the same, values that mean different things do not — and
then about what has no canonical form at all: non-finite numbers,
undefined members, accessors, non-plain objects, cycles in either shape.

Both files end with pinned constants. They are not testing that sha256
works. They exist so that changing how a value is canonicalized, or how
an adapter is identified, cannot be a quiet change: editing a constant is
an act a reviewer sees, and a silently different digest is not. The
adapter pin has a precedent — renaming `kind` invalidated every recorded
lock, and nothing failed until a lock did.

Writing them found one defect. createRuntimeEndpointAdapterFacet built a
facet without validating it; only isRuntimeAdapterHostFacet checked, and
the loader skips a facet that fails that check. So a package with a
broken adapter registered nothing and surfaced as "adapter X is not
registered", three layers from the mistake. Both constructors now
validate what they are given.
2026-08-09 01:25:28 +08:00