Skip to content

[ALLEN Pi/Spark G2] Report "not known whether it happened" as its own task state - #61

Draft
aien-spark wants to merge 2 commits into
lane-g/g1-delegated-dag-docfrom
lane-g/g2-uncertain-state
Draft

aien-spark wants to merge 2 commits into
lane-g/g1-delegated-dag-docfrom
lane-g/g2-uncertain-state

Conversation

@aien-spark

@aien-spark aien-spark commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #55

Stacked on #60 (G1). Base is the G1 branch so this diff shows G2 only.

What changed

  • TaskState::Uncertain(FailureRecord): a started task that ends by timeout or interrupt while its certainty is Uncertain gets this state instead of Failed or Cancelled. Not terminal.
  • Dependents of an uncertain task are neither run nor skipped: they stay Pending, are listed in unfinished, and the new WorkflowReport.blocked_behind_uncertain names the uncertain task each waits on (transitively).
  • The bus publishes nothing for the new state (no AegisEvent variant yet, item 4) rather than a false Failed or Cancelled; the ledger event uncertain is written in sequence. The snapshot carries the state (serde round trip tested).
  • docs/WORKFLOW-DAG.md rules updated.

Existing tests touched, with reason: three tests whose bodies only wait or sleep (cancellation_cancels_running_and_pending..., cancel_while_waiting_for_approval..., total_budget_cancels_the_workflow) now declare NoEffect, the truthful certainty for those bodies, so they keep testing cancel mechanics. The writer row of timeout_is_failed_timeout_with_runner_certainty asserted exactly the behaviour #55 calls false; it now expects Uncertain and a Pending dependent.

Tested commit

da79190 (host, 2026-10-16). Gates rerun with sibling ../aien-protocols at main 4b76f7f (as the hosted job checks out): same results. First run used a sibling on integ/allen-pispark-lane-c 10c6e40.

Check Result
Red first: new tests before the code FAIL as expected (TaskState::Uncertain and blocked_behind_uncertain did not exist)
AEGIS-TEST (cargo test --verbose -- --test-threads=1) PASS, 162 passed, 0 failed
AEGIS-CLIPPY (-D warnings) PASS
AEGIS-FMT PASS
AEGIS-CHECK PASS (on the content commit f80cac5; crumb commit changes no code)
AEGIS-ANTI-SLOP, AEGIS-ZERO-DISK-SECRETS, CRUMB-VERIFY PASS
Deliberate break: Uncertain mapped back to Failed in settle RED as required: 4 tests fail (g2_timeout_on_uncertain_runner..., g2_cancel_interrupting_uncertain_runner..., g2_uncertain_state_round_trips..., timeout_is_failed_timeout_with_runner_certainty); restored, 29 of 29 green
Spark bundle for the PR head NOT_RUN: judged by the Spark pipeline, not run from this session

Remaining gap (outside the frozen first cut)

Next dependency

G3 (#56) stacks on this branch and uses this state.

🤖 Generated with Claude Code

drakestapleton and others added 2 commits October 16, 2026 14:39
…#55)

TaskState gains Uncertain(FailureRecord). A started task that ends by
timeout or interrupt while its certainty is Uncertain now becomes
Uncertain instead of Failed or Cancelled. Uncertain is not terminal.
Its dependents are neither run nor skipped: they stay Pending, are
listed unfinished, and WorkflowReport.blocked_behind_uncertain names the
uncertain task each one waits on. The bus publishes nothing for the new
state (no variant yet, item 4) rather than a false Failed or Cancelled.

Tests (red first): Uncertain timeout gives Uncertain and blocks
dependents transitively; NoEffect timeout is still Failed; cancel of an
Uncertain runner gives Uncertain; the state round trips in the snapshot.
Three existing tests whose bodies only wait now declare NoEffect; the
old timeout test's writer row now expects Uncertain. Deliberate break
(Uncertain mapped back to Failed) turns 4 tests red.

Frozen first cut: items 1, 3, 5. Items 2 and 4 are not in this change.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
@github-actions

Copy link
Copy Markdown

⚖️ Sovereign Code Review & Alignment Gate

Greetings @aien-spark. I am AIEN, the automated review gate for the AIENOS project.

Your pull request #61 ("[ALLEN Pi/Spark G2] Report "not known whether it happened" as its own task state") has undergone automated auditing against the project standards.

✅ Doctrine Diff Audit: PASS

  • Telemetry Check: Clean (zero tracking or surveillance hooks detected).
  • Sovereign Voice & Formatting Check: Clean (zero em/en dashes, zero banned buzzwords).
  • Secrets & Credentials Check: Clean (zero plaintext secrets, hardware vault only).
  • Status: Project standards verified.

🌿 Sovereign Steward: Contributor Alignment Interview

Greetings @aien-spark. I am AIEN, the automated steward for the AIENOS project.

We welcome all contributors who share our commitment to open collaboration, global humanity, and disciplined systems craftsmanship. We build to expand computing capability, advance open-source intelligence, and share technology freely with the world.

Your pull request #61 ("[ALLEN Pi/Spark G2] Report "not known whether it happened" as its own task state") is ready for stewardship alignment.

Please respond directly to these four alignment inquiries:

  1. Long-Term Mission Alignment:
    This initiative is an enduring engineering commitment to open-source technology for humanity, not a vehicle for short-term hype, social media monetization, or get-rich-quick ventures. How does your contribution support global progress and the resilience of local communities?

  2. Telemetry & Integrity:
    Do you certify that this change introduces zero telemetry, zero surveillance, and zero artificial paywalls?

    "I certify that my contribution is submitted in service of human sovereignty and open collaboration. I affirm that this work maintains zero telemetry, contains no surveillance backdoors, and introduces no artificial barriers, and that I offer it under AGPL-3.0-or-later, the license that governs this project. I build so that intelligence is owned by the person who runs it, not rented."

  3. Downstream Heritage Preservation:
    Do you acknowledge and agree that any downstream branch, fork, or copy of this work remains under AGPL-3.0-or-later and retains the project's license and attribution notices, as the LICENSE file requires?

  4. Craftsmanship & Native Discipline:
    What architectural trade-offs did you make, and how did you verify that this code introduces zero regressions, zero unneeded dependencies, and complies with our pure native compiled standards?


Reply to this comment with your affirmation. Once verified against the project standards, I will grant the sovereign-interview-passed clearance. For direct sovereign coordination: Drake Stapleton ([email protected]) and AIEN ([email protected])

@github-actions github-actions Bot added needs-testimony Awaiting contributor oath testimony sovereign-audit-passed Diff clean: zero telemetry and unslop verified labels Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-testimony Awaiting contributor oath testimony sovereign-audit-passed Diff clean: zero telemetry and unslop verified

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants