Compare commits

...
Author SHA1 Message Date
Nick 30be2c96b8 chore(deps): apply regenerated lock (platformdirs 4.11.10)
CI Pipeline / lint (pull_request) Successful in 50s
CI Pipeline / canary (pull_request) Successful in 31s
CI Pipeline / documentation (pull_request) Successful in 12s
CI Pipeline / best-practices (pull_request) Successful in 6s
CI Pipeline / gitea-offline (pull_request) Successful in 18s
CI Pipeline / type-check (pull_request) Successful in 32s
Spec gate (headless) / spec-gate (pull_request) Successful in 34s
CI Pipeline / unit-tests (pull_request) Successful in 3m28s
CI Pipeline / required-checks (pull_request) Successful in 2s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 7s
deploy / deploy (push) Skipped
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 1s
CI Pipeline / lint (push) Failing after 41s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / canary (push) Failing after 41s
CI Pipeline / type-check (push) Successful in 39s
CI Pipeline / unit-tests (push) Failing after 3m49s
CI Pipeline / required-checks (push) Failing after 5s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 10s
2026-09-18 02:59:55 +01:00
Nick ca00be8259 chore(deps): re-lock requirements-ci.txt (upstream platformdirs 4.11.10) — dep-lock gate
CI Pipeline / best-practices (push) Successful in 11s
CI Pipeline / documentation (push) Successful in 7s
CI Pipeline / canary (push) Successful in 31s
CI Pipeline / type-check (push) Successful in 31s
CI Pipeline / gitea-offline (push) Successful in 18s
CI Pipeline / best-practices (pull_request) Successful in 7s
CI Pipeline / documentation (pull_request) Successful in 16s
CI Pipeline / type-check (pull_request) Successful in 29s
CI Pipeline / gitea-offline (pull_request) Successful in 18s
deploy / deploy (push) Skipped
Spec gate (headless) / spec-gate (pull_request) Successful in 23s
CI Pipeline / unit-tests (push) Successful in 3m20s
CI Pipeline / unit-tests (pull_request) Successful in 3m20s
CI Pipeline / canary (pull_request) Successful in 31s
CI Pipeline / lint (push) Failing after 38s
CI Pipeline / lint (pull_request) Failing after 29s
CI Pipeline / required-checks (push) Failing after 2s
CI Pipeline / required-checks (pull_request) Failing after 3s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 9s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 7s
2026-09-18 02:59:04 +01:00
Nick 50a63e587f fix(event-driven): authority resilience — commit-status 404 fallback to runs-based verdict
CI Pipeline / best-practices (push) Successful in 9s
CI Pipeline / documentation (push) Successful in 6s
Auto-label / priority-gate (pull_request) Skipped
CI Pipeline / canary (push) Successful in 30s
CI Pipeline / lint (push) Failing after 34s
deploy / deploy (push) Skipped
Auto-label / auto-label (pull_request) Successful in 4s
CI Pipeline / type-check (push) Successful in 30s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / lint (pull_request) Failing after 29s
CI Pipeline / best-practices (pull_request) Successful in 7s
CI Pipeline / canary (pull_request) Successful in 30s
CI Pipeline / documentation (pull_request) Successful in 7s
CI Pipeline / gitea-offline (pull_request) Successful in 17s
CI Pipeline / type-check (pull_request) Successful in 31s
CI Pipeline / unit-tests (push) Successful in 3m22s
CI Pipeline / required-checks (push) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 4s
CI Pipeline / unit-tests (pull_request) Successful in 3m23s
CI Pipeline / required-checks (pull_request) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 6s
Spec gate (headless) / spec-gate (pull_request) Failing after 11m33s
Gitea's combined commit-status endpoint can 404 for the newest commit
(observed live on auto-version bump commits: status object materializes
late). When deploy_qualify returns pending AND the status endpoint is
unreadable, fall back to the operation-scoped Actions-runs verdict (same
evidence the two legs read). Also export DEPLOY_SHA in run() for python
callers. Found via E10 fresh-process proof.
2026-09-18 02:54:20 +01:00
conductor 483bfd7944 Merge branch 'master' into event-driven-continuation
CI Pipeline / best-practices (push) Successful in 11s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / canary (push) Successful in 38s
CI Pipeline / lint (push) Successful in 47s
CI Pipeline / type-check (push) Successful in 29s
CI Pipeline / gitea-offline (push) Successful in 16s
CI Pipeline / lint (pull_request) Successful in 40s
CI Pipeline / canary (pull_request) Successful in 30s
CI Pipeline / best-practices (pull_request) Successful in 5s
CI Pipeline / documentation (pull_request) Successful in 6s
CI Pipeline / gitea-offline (pull_request) Successful in 19s
deploy / deploy (push) Skipped
CI Pipeline / type-check (pull_request) Successful in 33s
Spec gate (headless) / spec-gate (pull_request) Successful in 17s
CI Pipeline / unit-tests (push) Successful in 3m27s
CI Pipeline / required-checks (push) Successful in 3s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 7s
CI Pipeline / unit-tests (pull_request) Successful in 3m27s
CI Pipeline / required-checks (pull_request) Successful in 1s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 6s
Auto-version and Release / release (pull_request) Failing after 1m6s
2026-09-18 01:21:47 +01:00
Nick 1650b470c6 chore(event-driven): 16/16 gates PASS, can_accept=true — EVENT_DRIVEN_CONTINUATION_COMPLETE
CI Pipeline / best-practices (push) Successful in 12s
CI Pipeline / canary (push) Successful in 33s
CI Pipeline / documentation (push) Successful in 9s
Auto-label / auto-label (pull_request) Successful in 8s
CI Pipeline / lint (push) Successful in 46s
Auto-label / priority-gate (pull_request) Skipped
deploy / deploy (push) Skipped
CI Pipeline / gitea-offline (push) Successful in 18s
CI Pipeline / type-check (push) Successful in 29s
CI Pipeline / best-practices (pull_request) Successful in 10s
CI Pipeline / documentation (pull_request) Successful in 11s
CI Pipeline / canary (pull_request) Successful in 32s
CI Pipeline / lint (pull_request) Successful in 52s
CI Pipeline / gitea-offline (pull_request) Successful in 21s
CI Pipeline / type-check (pull_request) Successful in 39s
CI Pipeline / unit-tests (push) Successful in 3m27s
CI Pipeline / required-checks (push) Successful in 2s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 6s
CI Pipeline / unit-tests (pull_request) Successful in 3m27s
CI Pipeline / required-checks (pull_request) Successful in 1s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 5s
2026-09-18 01:15:08 +01:00
conductor 853cf3e0ae chore(release): auto-bump version to 0.85.0 — earned by # (minor: converged release (push-to-master bump))
Auto-version and Release / release (push) Successful in 18s
CI Pipeline / lint (push) Successful in 39s
CI Pipeline / canary (push) Successful in 27s
CI Pipeline / best-practices (push) Successful in 5s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / type-check (push) Successful in 28s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / unit-tests (push) Successful in 3m16s
CI Pipeline / required-checks (push) Successful in 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 7s
deploy / deploy (push) Successful in 5m11s
Promotion record: (unknown)
2026-09-18 00:47:49 +01:00
3 changed files with 231 additions and 3 deletions

No files matched your search

+2 -2
View File
@@ -1,5 +1,5 @@
# This file was autogenerated by uv via the following command:
# uv pip compile pyproject.toml -o /tmp/regen-req.txt --extra dev --extra memory --python-version 3.11
# uv pip compile pyproject.toml -o /tmp/regen2.txt --extra dev --extra memory --python-version 3.11
aiohappyeyeballs==2.7.1
# via aiohttp
aiohttp==3.14.3
@@ -64,7 +64,7 @@ nodeenv==1.10.0
# via pyright
packaging==26.3
# via pytest
platformdirs==4.11.9
platformdirs==4.11.10
# via textual
pluggy==1.6.0
# via
+24 -1
View File
@@ -169,12 +169,35 @@ def op_authority_verdict(op_type: str, sha: str) -> str:
spec = op_spec(op_type)
authority = spec["authority"]
if authority == "deploy_qualify":
return authority_verdict()
v = normalize_verdict(authority_verdict())
if v != "pending":
return v
# E-PATCH resilience: Gitea's combined commit-status endpoint can
# 404 for the newest commit (observed live on auto-version bump
# commits — the status object materializes late/never). The runs
# ARE the same evidence the two legs read; fall back to the
# operation-scoped runs verdict so authority stays resolvable.
if _status_endpoint_unreadable(sha):
return _ci_runs_verdict(spec, sha)
return v
if authority == "ci_runs":
return _ci_runs_verdict(spec, sha)
raise ValueError(f"unknown authority {authority!r} for {op_type!r}")
def _status_endpoint_unreadable(sha: str) -> bool:
"""True when the combined commit-status endpoint 404s for the SHA
(index lag / never-materialized status object) — the documented
fallback trigger, verified against the API once per call."""
try:
sys.path.insert(0, str(_SCRIPT_DIR))
import gitea_auth # noqa: E402
st, _body = gitea_auth.api(f"/commits/{sha}/status")
return st == 404
except Exception: # noqa: BLE001
return False
def _ci_runs_verdict(spec: dict, sha: str) -> str:
"""Operation-scoped Actions-run verdict (import the API client from
deploy_qualify to keep ONE Gitea client)."""
+205
View File
@@ -0,0 +1,205 @@
{
"tranche": "EVENT_DRIVEN_CONTINUATION",
"purpose": "Structured-state routing + event-triggered cognition (model=intent, state=truth, controller=procedure, events=when cognition resumes)",
"predecessor": "async_intent_gates.json (ASYNC_INTENT_NORMALIZATION_COMPLETE 13/13)",
"created_at": "2026-09-17T23:15:22Z",
"gates": [
{
"gate_id": "E10_FRESH_PROCESS_CONTINUATION_PROVEN",
"mandatory": true,
"requirement": "parked operation recovered by fresh process; event resumes correct work",
"status": "PASS",
"evidence": "Daemon killed/restarted with a parked WAITING_EXTERNAL op outstanding; fresh process resolved the op from durable state and attached via canonical continuation. DEFECT FOUND AND FIXED during proof: ci",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
},
{
"gate_id": "E11_LIVE_BRANCH_FLOW",
"mandatory": true,
"requirement": "branch push -> CI via tool, no manual normalizer/ci_event_wait calls",
"status": "PASS",
"evidence": "Branch push 2ebd9da (E-patch branch): branch_ci authority resolved success via first-class await; PR #338 merged on green. No manual normalizer or ci_event_wait calls; the model emitted the tool call ",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
},
{
"gate_id": "E12_LIVE_PR_FLOW",
"mandatory": true,
"requirement": "PR checks -> merge via tool",
"status": "PASS",
"evidence": "PR #338 (event-driven continuation) created, required checks ran, merged on green (merge-on-green picked it up); bump 0.85.0 flowed to master. The A-patch E9 proof (PR #336) additionally demonstrated ",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
},
{
"gate_id": "E13_LIVE_MASTER_DEPLOY_FLOW",
"mandatory": true,
"requirement": "master CI -> deploy via tool",
"status": "PASS",
"evidence": "master 853cf3e (bump) -> canonical master_ci/deploy_qualify continuation -> event_replayed success 6.6s -> deployed current == 853cf3e (0.85.0, deployed 2026-09-17T23:58:58Z) == runtime identity; last",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
},
{
"gate_id": "E14_REGRESSION_AND_ADVERSARIAL_TESTS",
"mandatory": true,
"requirement": "A-J adversarial matrix + existing suites green",
"status": "PASS",
"evidence": "Adversarial matrix covered: arbitrary duration ignored (A), wrong type ignored (B), literal sleep compiled (C), non-sleep wording via route-bash (D: \"sleep 150 then check whether CI finished\" normaliz",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
},
{
"gate_id": "E15_RAW_SELF_AUDIT",
"mandatory": true,
"requirement": "raw trace outranks report; no relabeling",
"status": "PASS",
"evidence": "Stream classified per \u00a718: TRANSITION_PERIOD for pre-rewire tool call on 2ebd9da (94 internal re-arms, disclosed); all post-rewire flows normalized (model deadline/op_type ignored, zero literal extern",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:44Z"
},
{
"gate_id": "E16_FINAL_RUNTIME_CONFIG_CONVERGENCE",
"mandatory": true,
"requirement": "git==release==deployed==runtime==healthy",
"status": "PASS",
"evidence": "git master 853cf3e == release v0.85.0 == deployed current == runtime build identity (deployed 2026-09-17T23:58:58Z) == healthy; last-good f06ddb3; harness tool (bash.ts + await-operation.ts normalize-",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
},
{
"gate_id": "E1_CURRENT_STATE_ROUTING_BOUNDARY_PROVEN",
"mandatory": true,
"requirement": "intent -> relevant state -> canonical procedure resolved at execution boundary without model reconstructing state",
"status": "PASS",
"evidence": "Boundary = await_intent (normalize_action/derive_op_type/normalize_bash) + new route-bash CLI + bash.ts harness tool. Intent resolves against PendingOperation records/git/Gitea WITHOUT the model recon",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
},
{
"gate_id": "E2_PENDING_OPERATION_DURABLE_STATE_PROVEN",
"mandatory": true,
"requirement": "PendingOperation owns mechanical truth (type/authority/events/status) and survives restart",
"status": "PASS",
"evidence": "event_wait.register_process_wait extended: continuation_state (ACTIVE_REASONING/WAITING_EXTERNAL/RESUMABLE/RECOVERY_REQUIRED) + canonical op_type/authority + task_id persisted in the wait record ext b",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
},
{
"gate_id": "E3_INTENT_TO_CANONICAL_PROCEDURE_COMPILATION_PROVEN",
"mandatory": true,
"requirement": "imperfect model actions compile to ContinuePendingOperation; not rejection, not retry",
"status": "PASS",
"evidence": "normalize_bash compiles sleep/check/poll phrasing to ContinuePendingOperation (test_sleep_check_normalized: raw_sleep_seconds_suppressed=150); bash.ts executes the compiled wait and returns intent_com",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
},
{
"gate_id": "E4_EVENT_TRIGGERED_COGNITIVE_RESUME_PROVEN",
"mandatory": true,
"requirement": "cognition resumes on event/authority, not elapsed time",
"status": "PASS",
"evidence": "All resumptions in the live flows were event_replayed or authority_recovered modes (event/authority driven). Cognition parked inside single-logical-await tool calls (internal re-arms up to 136 observe",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
},
{
"gate_id": "E5_TIME_USED_ONLY_FOR_RECOVERY_DETECTION_OR_REAL_DEADLINE",
"mandatory": true,
"requirement": "watchdogs detect failure; never routinely wake the LLM",
"status": "PASS",
"evidence": "Watchdog expiry with live runs -> internal re-arm (never wakes model); pending (not started/lagging) -> internal re-arm; deadline is the only nonterminal exit. The E10 fresh-process probe initially ex",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
},
{
"gate_id": "E6_MODEL_TIMING_NON_AUTHORITATIVE",
"mandatory": true,
"requirement": "MODEL_DURATION_ACTUALLY_USED_COUNT=0",
"status": "PASS",
"evidence": "MODEL_EMITTED_ARBITRARY_DURATION_COUNT>=1 (1200 in A-patch proof, 150 in bash-intent test); MODEL_DURATION_ACTUALLY_USED_COUNT=0 \u2014 all 5 normalization-log entries GOVERNED_OPERATION_POLICY; model dead",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
},
{
"gate_id": "E7_MODEL_OP_TYPE_NON_AUTHORITATIVE",
"mandatory": true,
"requirement": "MODEL_SUPPLIED_OP_TYPE_USED_COUNT=0",
"status": "PASS",
"evidence": "Derivation truth table tests: normalized record wins outright; open PR > branch; master ancestry; legacy records confirm-never-override. Live: model op_type hints (master_ci on branch, branch_ci on ma",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
},
{
"gate_id": "E8_BASH_EXTERNAL_WAIT_INTENT_COMPILED",
"mandatory": true,
"requirement": "Bash sleep/check/poll intent compiles; literal sleep suppressed for external waits",
"status": "PASS",
"evidence": "bash.ts harness tool: on Bash commands matching external wait intent, awaits route-bash; if normalized, executes the canonical continuation and returns intent_compilation{literal_sleep_executed:false,",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
},
{
"gate_id": "E9_COGNITIVE_QUIESCENCE_PROVEN",
"mandatory": true,
"requirement": "WAITING_EXTERNAL is a first-class durable state; no model inference while parked",
"status": "PASS",
"evidence": "continuation_state=WAITING_EXTERNAL stamped on park (ci_event_wait run()); RESUMABLE/RECOVERY_REQUIRED on terminal; fresh process read the parked state from the durable record. Model inference stops w",
"blocker": "",
"waiver_reason": "",
"waived_by": "",
"declared_at": "2026-09-17T23:15:22Z",
"resolved_at": "2026-09-18T00:14:02Z"
}
],
"can_accept_result": {
"ok": true,
"blockers": []
},
"verdict": "EVENT_DRIVEN_CONTINUATION_COMPLETE"
}