StarIntel 0.10.1: star-lang actor ontology, sento runtime, projection #208

Open
nsaspy wants to merge 2 commits from starintel/actor-ontology into master
Owner

What

Implements the Hackmode actor system for StarIntel as a star-lang ontology, executed on the shared Sento runtime, projecting into the current starintel-core release.

  • Ontology (spec/hackmode-core.star + spec/actors/*.star): 12 documents (persistent/transient), 7 predicates, 14 message contracts, 6 actor declarations compiled with starlangcompiler. Self-contained dev.hackmode/core@1; no second StarIntel document schema is introduced — the 0.10.1 mapping lives only at the projection boundary.
  • Runtime (:hackmode-actors): loads/compiles the ontology, validates wire messages against compiled message IR (required fields, types, enums), spawns the six actors (asset-monitor, outbox, provider-dispatcher, capture-supervisor, replay, expert-advisor) through star-sento-compat onto the shared Hackmode Sento system, and wires the asset event stream so projectable assets flow into the durable outbox automatically.
  • Projection: starintel-core 0.10.1 envelopes (resolved from the canonical schema repo lock chain, canonical main 64c101af): {_id, dataset, dtype, schema_version, version, date_added, date_updated, sources, evidence, data} with snake_case data for operation, research-node, http-transaction, web-capture, domain, host, url. Lossless evidence invariant: request/response headers are carried verbatim from raw IPX spool frames (regression-tested).
  • Toolchain: Nix flake with pinned inputs (star-lang 09f3b6da, tek9 e6d1cb86, star-cl b8dfbe2, cl-gserver 6a510c5b, cms-ulid fff8430) + checks gate; CI pins the same revisions and repoints the dead nsaspy mirrors to lost-rob0t owners.
  • Durable Prolog KB (.prolog/kb/): spec authority facts (0.10.1 supersedes 0.9.1/0.9.2), star-lang consumption rules, verified toolchain hazards, and the ontology design as queryable relations.

Verification

  • asdf:test-system :hackmode-actors — ontology compile, message validation, 0.10.1 envelope shape per dtype, lossless header carry, actor spawn/ask/tell round trips, invalid-message rejection — all green.
  • asdf:test-system :hackmode core regression — green.
  • prolog-verify check — green (machine-observed runs at HEAD, boundary scan clean).
  • nix flake lock refreshed for all new inputs.

Out of scope (follow-ups)

  • port/finding stay local-only until StarIntel grows dtypes for them
  • replay streaming per-exchange http-transaction emission (projection + lossless carry implemented and tested; spool streaming wiring follows)
## What Implements the Hackmode actor system for StarIntel as a star-lang ontology, executed on the shared Sento runtime, projecting into the current starintel-core release. - **Ontology** (`spec/hackmode-core.star` + `spec/actors/*.star`): 12 documents (persistent/transient), 7 predicates, 14 message contracts, 6 actor declarations compiled with `starlangcompiler`. Self-contained `dev.hackmode/core@1`; no second StarIntel document schema is introduced — the 0.10.1 mapping lives only at the projection boundary. - **Runtime** (`:hackmode-actors`): loads/compiles the ontology, validates wire messages against compiled message IR (required fields, types, enums), spawns the six actors (asset-monitor, outbox, provider-dispatcher, capture-supervisor, replay, expert-advisor) through `star-sento-compat` onto the shared Hackmode Sento system, and wires the asset event stream so projectable assets flow into the durable outbox automatically. - **Projection**: starintel-core **0.10.1** envelopes (resolved from the canonical schema repo lock chain, canonical main 64c101af): `{_id, dataset, dtype, schema_version, version, date_added, date_updated, sources, evidence, data}` with snake_case data for operation, research-node, http-transaction, web-capture, domain, host, url. **Lossless evidence invariant**: request/response headers are carried verbatim from raw IPX spool frames (regression-tested). - **Toolchain**: Nix flake with pinned inputs (star-lang 09f3b6da, tek9 e6d1cb86, star-cl b8dfbe2, cl-gserver 6a510c5b, cms-ulid fff8430) + `checks` gate; CI pins the same revisions and repoints the dead nsaspy mirrors to lost-rob0t owners. - **Durable Prolog KB** (`.prolog/kb/`): spec authority facts (0.10.1 supersedes 0.9.1/0.9.2), star-lang consumption rules, verified toolchain hazards, and the ontology design as queryable relations. ## Verification - `asdf:test-system :hackmode-actors` — ontology compile, message validation, 0.10.1 envelope shape per dtype, lossless header carry, actor spawn/ask/tell round trips, invalid-message rejection — all green. - `asdf:test-system :hackmode` core regression — green. - `prolog-verify check` — green (machine-observed runs at HEAD, boundary scan clean). - `nix flake lock` refreshed for all new inputs. ## Out of scope (follow-ups) - port/finding stay local-only until StarIntel grows dtypes for them - replay streaming per-exchange http-transaction emission (projection + lossless carry implemented and tested; spool streaming wiring follows)
Declare the Hackmode actor system as a star-lang ontology
(spec/hackmode-core.star + spec/actors/) and execute it on the shared
Sento system through star-sento-compat. Project operations, assets, and
evidence into the current starintel-core 0.10.1 envelope, including
lossless http-transaction header carry from raw IPX spools.

- :hackmode-actors ASDF system: ontology loader, message validation
  against compiled specs, actor topology lifecycle, asset projection loop
- 0.10.1 envelope projection: operation, research-node, http-transaction,
  web-capture, domain, host, url (snake_case data, sources/evidence)
- Nix flake: pinned star-lang/tek9/star-cl/cl-gserver/cms-ulid inputs and
  a hackmode-actors check; CI pins the same revisions and repoints the
  dead nsaspy mirrors to lost-rob0t owners
- Durable Prolog KB capturing the spec authority chain and toolchain facts
Consume the canonical starintel core spec over digest-locked import
Some checks failed
agent-pr-serialization / one-open-pr-per-agent-lane (pull_request_target) Failing after 2s
agent-framework-boundary / keep-agent-framework-out-of-product-tree (pull_request) Successful in 6s
core / common-lisp-core (pull_request) Failing after 38s
monorepo / hygiene (pull_request) Successful in 2m11s
7e4c6e0525
The ontology now imports org.starintel/core@1 (release 0.10.1) with a full
SHA-256 lock over a vendored byte-identical copy of the canonical
star-lang export. Dtype support is validated against the compiled imported
graph at projection time instead of a hardcoded list, and the projection
fails closed for dtypes the canonical vocabulary does not declare
(port/finding/cert remain local-only until the spec grows them).

- spec/vendor/starintel-core-0.10.1.star: generated artifact from
  lost-rob0t/starintel-gpt-auto-dig spec/http-deployment, served at
  https://spec.starintel.actor/star/0.10.1
- ontology.lisp: loaded-graph consumption, starintel-dtype-declared-p
- projection.lisp: envelope construction refuses undeclared dtypes
- tests: digest lock, dtype support derivation, fail-closed projection
- KB: spec deployment facts (export digest, registry routes, infra wiring)
Some checks failed
agent-pr-serialization / one-open-pr-per-agent-lane (pull_request_target) Failing after 2s
agent-framework-boundary / keep-agent-framework-out-of-product-tree (pull_request) Successful in 6s
core / common-lisp-core (pull_request) Failing after 38s
monorepo / hygiene (pull_request) Successful in 2m11s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin starintel/actor-ontology:starintel/actor-ontology
git switch starintel/actor-ontology

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch master
git merge --no-ff starintel/actor-ontology
git switch starintel/actor-ontology
git rebase master
git switch master
git merge --ff-only starintel/actor-ontology
git switch starintel/actor-ontology
git rebase master
git switch master
git merge --no-ff starintel/actor-ontology
git switch master
git merge --squash starintel/actor-ontology
git switch master
git merge --ff-only starintel/actor-ontology
git switch master
git merge starintel/actor-ontology
git push origin master
Sign in to join this conversation.
No description provided.