DESIGN_READY_FOR_OPERATOR_REVIEW: StarLang bounded OSINT orchestration kernel #168
Labels
No labels
bug
design
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
research
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/starintel-auto-research#168
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Authority / state
READY_FOR_DESIGNDESIGN_READY_FOR_OPERATOR_REVIEWThis design does not authorize implementation and must not enter the executable RAGE queue until the operator explicitly approves a slice.
Problem
StarIntel OSINT domains need reusable bounded fan-out, pivot/traversal, step binding, conditional outcome handling and partial aggregation. Today those behaviors risk being reimplemented independently by Identity, Infrastructure, Source Acquisition, agentic researchers and external-tool wrappers.
The fix is deliberately smaller than a generic workflow engine: add only the closed orchestration semantics that belong in StarLang, and keep provider health, scheduling, correlation, transport policy, dedupe and change detection in their proper runtime/domain owners.
Architecture boundary
StarLang owns
A closed typed orchestration IR for:
Runtime/domain libraries own
Expert system owns
Correlation rules, explanations and proof traces. A playbook may request an expert decision or consume an expert conclusion, but it does not embed a second correlation-rule DSL.
Source Acquisition reuse
Reuse #171 for bounded traversal/request fingerprints, opaque credential/session/artifact/result refs, challenge continuation and source-provenance semantics. Do not duplicate those primitives.
Proposed closed IR
Conceptual only; final syntax follows StarLang conventions.
No plan step may name arbitrary Common Lisp functions, shell commands, provider secrets, network endpoints outside typed capability refs, or unbounded recursion/fan-out.
Outcome model
Generic orchestration results must distinguish at least:
successpartialblockedunavailablecancelledfailedAggregation retains per-branch/provider outcomes and provenance.
partialis not silently coerced to success or absence.Provider registry / health contract
A reusable runtime component exposes authorized provider capability entries containing stable provider ID/version/capabilities plus scoped health metadata.
Health state should include bounded failure counters, last success/failure class, cooldown/open-until state, and optional rate/quota observations. Health is policy input, not truth about the source itself.
Important: health/demotion state may need principal/config scope because different credentials, quotas or egress paths can produce different provider behavior.
Dynamic activation
Newly emitted typed documents may request matching capabilities through a registry lookup, but emitted data cannot create executable capabilities or arbitrary handlers. Activation is selection from pre-registered, authorized capability definitions only.
Scheduling / streams
Do not add cron or a stream engine to StarLang syntax. Scheduler/stream actors send typed trigger messages into ordinary domain/playbook entrypoints. Trigger state and checkpointing remain runtime/domain state.
Persistence / restart
Adversarial review
Rejected
Required implementation invariants
Dependency-ordered proposed slices
All are AWAITING_OPERATOR_IMPLEMENTATION_APPROVAL.
playbook, boundedfan-out, bindings, branch-on-outcome, aggregate result contract.RED-first targets
Slice 1
A valid StarLang fixture declaring a bounded playbook with fan-out, result binding and partial aggregation must fail on untouched current StarLang because no playbook/fan-out orchestration declaration exists.
Negative fixtures must prove rejection of:
Slice 4
A deterministic fake-provider test must show a failing provider transitions through bounded health/cooldown policy without changing authorization or globally demoting an independent principal/provider context.
Acceptance
Implementation approval
PENDING / AWAITING_OPERATOR_IMPLEMENTATION_APPROVALARDR has no authority to change this state.