Enforce StarIntel v0.9 documents at ingest #116

Closed
lost-rob0t wants to merge 16 commits from agent/v09-document-runtime into master
lost-rob0t commented 2026-08-24 09:45:20 +00:00 (Migrated from github.com)

What

Make StarIntel 0.9.0 the canonical document runtime across server build and ingest paths.

  • converge Nix and QLot onto the current v0.9 star-cl runtime;
  • validate schema_version, not the integer document version counter;
  • reuse the canonical star-cl v0.9 JSON-schema validator through star.documents:validate-v09-document;
  • reject invalid canonical documents before HTTP publish or RabbitMQ persistence;
  • keep the historical target route/Rabbit target path as an explicit narrow compatibility adapter;
  • add hermetic Lisp and Python contract coverage for v0.9 version semantics and dependency drift;
  • update runtime/document-spec documentation.

Why

The repository schema lock already declares v0.9.0, but QLot was pinned to a 0.7.3 star-cl revision and Nix was pinned to 0.8.0. The HTTP boundary also compared the document version field against the schema version, which is incorrect in v0.9 (schema_version is the spec revision; version is an integer document revision).

Advances #59: canonical document ingest is schema-aware and validates v0.9 before publish/persist. This does not implement the full versioned batch/target lifecycle API from #59.

## What Make StarIntel 0.9.0 the canonical document runtime across server build and ingest paths. - converge Nix and QLot onto the current v0.9 `star-cl` runtime; - validate `schema_version`, not the integer document `version` counter; - reuse the canonical `star-cl` v0.9 JSON-schema validator through `star.documents:validate-v09-document`; - reject invalid canonical documents before HTTP publish or RabbitMQ persistence; - keep the historical target route/Rabbit target path as an explicit narrow compatibility adapter; - add hermetic Lisp and Python contract coverage for v0.9 version semantics and dependency drift; - update runtime/document-spec documentation. ## Why The repository schema lock already declares v0.9.0, but QLot was pinned to a 0.7.3 `star-cl` revision and Nix was pinned to 0.8.0. The HTTP boundary also compared the document `version` field against the schema version, which is incorrect in v0.9 (`schema_version` is the spec revision; `version` is an integer document revision). ## Related Advances #59: canonical document ingest is schema-aware and validates v0.9 before publish/persist. This does not implement the full versioned batch/target lifecycle API from #59.
lost-rob0t commented 2026-08-24 21:28:31 +00:00 (Migrated from github.com)

RAGE/TDD evidence pin for exact head 45c493f26d8e763dc462e122be5c9cccf46f1d7d (Smoke run 32713779855, synthesized merge 08a1bbccce79bc600a8b21cea7886826c5c86917).

The hermetic unit-tests job is red, but the immutable uploaded artifact 9515137597 does not contain a failing test. Every required suite reports failed=0 skipped=0, including HTTP boundary (22/22), authorization policy (18/18), gserver client (19/19), and runtime lifecycle (4/4); the log ends with only 7 SBCL STYLE-WARNING conditions and no Test system ... failed / unhandled error. The workflow step deliberately captures nix run .#star-unit-tests's exit status and exits with that status, so the evidence currently proves a runner/process exit-status discrepancy, not a failing hermetic assertion.

Do not weaken or skip tests to green this. Reproduce the exact nix run .#star-unit-tests exit status at this head and fix the runner/process cause if deterministic. The separate service-backed integration job is also red and still requires its own deterministic failure evidence before any product-code repair is justified.

RAGE/TDD evidence pin for exact head `45c493f26d8e763dc462e122be5c9cccf46f1d7d` (Smoke run `32713779855`, synthesized merge `08a1bbccce79bc600a8b21cea7886826c5c86917`). The hermetic `unit-tests` job is red, but the immutable uploaded artifact `9515137597` does not contain a failing test. Every required suite reports `failed=0 skipped=0`, including HTTP boundary (22/22), authorization policy (18/18), gserver client (19/19), and runtime lifecycle (4/4); the log ends with only 7 SBCL STYLE-WARNING conditions and no `Test system ... failed` / unhandled error. The workflow step deliberately captures `nix run .#star-unit-tests`'s exit status and exits with that status, so the evidence currently proves a runner/process exit-status discrepancy, not a failing hermetic assertion. Do not weaken or skip tests to green this. Reproduce the exact `nix run .#star-unit-tests` exit status at this head and fix the runner/process cause if deterministic. The separate service-backed integration job is also red and still requires its own deterministic failure evidence before any product-code repair is justified.
lost-rob0t commented 2026-08-25 01:15:15 +00:00 (Migrated from github.com)

RAGE diagnostic follow-up: the service-backed integration failure is reproducible on the prior exact head, but the old Smoke workflow discarded its integration log. Commit c65871fbbf55a3f5db7dd1d2fb6d6a5d35209003 changes CI only: it captures nix run .#star-integration-tests, preserves the exact exit status, tails the log, and uploads the complete service-backed integration log as a 1-day artifact. No product assertion or validation is weakened.

Important remote-state change: this PR is now materially stale/diverged from current master; GitHub currently reports it non-mergeable. Current master also contains later Smoke/Clouseau integration-harness work. Do not diagnose or patch v0.9 product behavior from the old red badge alone. First use the new immutable integration artifact if CI runs this head; then reconcile the branch with current master and require fresh exact-head gates before merge.

RAGE diagnostic follow-up: the service-backed integration failure is reproducible on the prior exact head, but the old Smoke workflow discarded its integration log. Commit `c65871fbbf55a3f5db7dd1d2fb6d6a5d35209003` changes CI only: it captures `nix run .#star-integration-tests`, preserves the exact exit status, tails the log, and uploads the complete service-backed integration log as a 1-day artifact. No product assertion or validation is weakened. Important remote-state change: this PR is now materially stale/diverged from current `master`; GitHub currently reports it non-mergeable. Current master also contains later Smoke/Clouseau integration-harness work. Do not diagnose or patch v0.9 product behavior from the old red badge alone. First use the new immutable integration artifact if CI runs this head; then reconcile the branch with current master and require fresh exact-head gates before merge.
lost-rob0t commented 2026-08-25 08:06:05 +00:00 (Migrated from github.com)

RAGE reconciliation: closing this PR as superseded by #119. PR #119 re-cut the v0.9 canonical-runtime work against current master, reached final head 922bda3c8bb346b4eb1700281417d7a018253621, passed Smoke #404, Container Stack #405, Canonical StarIntel schema lock #290, and Operational salvage #235 on that exact head, and merged to master as 52948721d8981e9aa5ccad4efd77185e52af845b on 2026-08-25. Do not continue product fixes or CI diagnosis on this stale branch; follow-up work should start from current master and preserve #119's canonical v0.9 boundary.

RAGE reconciliation: closing this PR as superseded by #119. PR #119 re-cut the v0.9 canonical-runtime work against current `master`, reached final head `922bda3c8bb346b4eb1700281417d7a018253621`, passed Smoke #404, Container Stack #405, Canonical StarIntel schema lock #290, and Operational salvage #235 on that exact head, and merged to `master` as `52948721d8981e9aa5ccad4efd77185e52af845b` on 2026-08-25. Do not continue product fixes or CI diagnosis on this stale branch; follow-up work should start from current `master` and preserve #119's canonical v0.9 boundary.

Pull request closed

Sign in to join this conversation.
No description provided.