|
| 1 | +# ADF Weekly Activity Report: 2026-06-03 -- 2026-06-10 |
| 2 | + |
| 3 | +**Generated**: 2026-06-10 15:52 BST |
| 4 | +**Sources**: Bigbox ADF journald logs, Gitea API (`git.terraphim.cloud`), GitHub API (`github.com/terraphim`) |
| 5 | +**Scope**: All repositories under `terraphim` organisation on both GitHub and Gitea. |
| 6 | + |
| 7 | +--- |
| 8 | + |
| 9 | +## Executive Summary |
| 10 | + |
| 11 | +Over the past week, ADF (AI Dark Factory) processed **30 unique PRs across 6 repositories**, posting **82 terminal commit statuses** (3 per PR gate set: `adf/pr-reviewer`, `adf/validation`, `adf/verification`). The orchestrator spawned **275 agent runs** across 20 different agent roles. |
| 12 | + |
| 13 | +**20 PR gate timeout failures** occurred, all handled fail-closed via the `PrGateResult` contract. **10 agent exits** were classified as `unknown` (non-zero exit code, no pattern match). **7 rate-limit hits** and **3 crash/panic patterns** were detected. |
| 14 | + |
| 15 | +The primary focus of the week was landing the native `PrGateResult` contract and native PR gate producer pipeline on `terraphim-ai` PR #2318, which went through **11 head commits** with iterative testing and live validation on bigbox. |
| 16 | + |
| 17 | +--- |
| 18 | + |
| 19 | +## ADF Gate Activity by Repository |
| 20 | + |
| 21 | +### terraphim-ai (Gitea: `git.terraphim.cloud/terraphim/terraphim-ai`) |
| 22 | + |
| 23 | +| PR | Head SHAs Tested | Review Dispatches | Terminal Outcomes | |
| 24 | +|----|------------------|-------------------|-------------------| |
| 25 | +| #2318 | 11 commits (`b71332d` through `866460a1e`) | 11 | Mixed: passes, timeout failures, malformed-JSON failures; current head blocked by reviewer `failure` | |
| 26 | +| #2337 | `cd090a4` | 1 | 3 terminal statuses posted | |
| 27 | +| #2340 | `91d8547` | 1 | 3 terminal statuses posted | |
| 28 | +| #2343 | `5fd3b3b` | 1 | 3 terminal statuses posted | |
| 29 | +| #2347 | `552c2f1` | 1 | 3 terminal statuses posted | |
| 30 | +| #2351 | `ad25e95` | 1 | 3 terminal statuses posted | |
| 31 | +| #2353 | `28b800f` | 1 | 3 terminal statuses posted | |
| 32 | +| #2355 | `6ba7c8e` | 1 | 3 terminal statuses posted | |
| 33 | +| #2357 | `4e9cf8f` | 1 | 3 terminal statuses posted | |
| 34 | +| #2358 | `180d615` | 1 | 3 terminal statuses posted | |
| 35 | +| #2362 | `b6a1227` | 1 | 3 terminal statuses posted | |
| 36 | +| #2363 | `35c12d5` | 1 | 3 terminal statuses posted | |
| 37 | +| #2365 | `ab0ecc1` | 1 | 2 timeout failures (pr-reviewer, pr-validator); 1 verdict from pr-verifier | |
| 38 | +| #2373 | `a576280` | 1 | 3 terminal statuses posted | |
| 39 | +| #2376 | `476188e` | 1 | 3 terminal statuses posted | |
| 40 | +| #2377 | `f3a2b27` | 1 | 3 terminal statuses posted | |
| 41 | + |
| 42 | +**Total**: 16 PRs processed, 17 dispatch events, ~51 individual ADF gate runs. |
| 43 | + |
| 44 | +#### PR #2318 Detailed Timeline |
| 45 | + |
| 46 | +PR #2318 ("Fix #2301: add PrGateResult contract for PR fan-out gates") was the primary development focus: |
| 47 | + |
| 48 | +| Commit | Description | Gate Outcome | |
| 49 | +|--------|-------------|-------------| |
| 50 | +| `b71332d` | Initial PR open | All 3 passed (`verdict already present for head`) | |
| 51 | +| `0e072ee` | `feat(orchestrator): add PrGateResult contract` | All 3 passed | |
| 52 | +| `073ede3` | `fix(orchestrator): discard PrGateResult drain-log parsing` | All 3 passed | |
| 53 | +| `88b008a6` | `fix(orchestrator): synthesise canonical failed PR gate results` | All 3 **failed** (malformed `adf:gate-result` JSON -- by design, validating fail-closed parse handling) | |
| 54 | +| `ca4a6f2ad` | `fix(orchestrator): fail closed on PR gate timeouts` | All 3 **failed** (`agent exceeded 300s PR gate wall-clock limit` -- by design, validating 300s timeout enforcement) | |
| 55 | +| `902f8167b` | `fix(orchestrator): harden native PR gate producer spawn` | All 3 passed (first native producer run) | |
| 56 | +| `2575c3604` | `fix(orchestrator): fetch PR refs for native gate evidence` | All 3 passed (107k-character native prompts) | |
| 57 | +| `900c00a88` | `fix(orchestrator): fetch PR gate evidence from head refs` | All 3 passed (`pass (4/5)` each) | |
| 58 | +| `866460a1e` | `docs(adf): record final PR gate validation` | **pr-reviewer: failure** (`2 blocking finding(s) reported`), validator/verifier: passed | |
| 59 | + |
| 60 | +The final head (`866460a1e`) is blocked by the reviewer gate finding 2 blocking issues (truncated diff evidence and traceability gaps between a doc-only head commit and the implementation commits referenced in validation evidence). |
| 61 | + |
| 62 | +### odilo (Gitea: `zestic-ai/odilo`) |
| 63 | + |
| 64 | +| PR | Head SHA | Outcome | |
| 65 | +|----|----------|---------| |
| 66 | +| #389 | `b634434` | 3 gates posted | |
| 67 | +| #390 | `a186fac` | 3 gates posted | |
| 68 | +| #391 | `53f814a` | Processed | |
| 69 | +| #392 | `6487316` | Processed | |
| 70 | +| #393 | `aab5727` | Processed | |
| 71 | +| #394 | `f430d92` | Processed | |
| 72 | +| #397 | `8a599a6` | Processed | |
| 73 | +| #399 | `14636e2` | Processed | |
| 74 | +| #402 | `65347bb` | Processed | |
| 75 | + |
| 76 | +**Total**: 9 PRs processed. |
| 77 | + |
| 78 | +### terraphim-clients (Gitea) |
| 79 | + |
| 80 | +| PR | Head SHA | Outcome | |
| 81 | +|----|----------|---------| |
| 82 | +| #9 | `59c7db4` | 3 gates posted | |
| 83 | +| #10 | `d415c74` | 3 gates posted | |
| 84 | + |
| 85 | +**Total**: 2 PRs processed. |
| 86 | + |
| 87 | +### terraphim-agents (Gitea) |
| 88 | + |
| 89 | +| PR | Head SHA | Outcome | |
| 90 | +|----|----------|---------| |
| 91 | +| #32 | `95e2811` | 3 gates posted (dispatched twice -- synchronised) | |
| 92 | + |
| 93 | +**Total**: 1 PR processed, 2 dispatch events. |
| 94 | + |
| 95 | +### terraphim-kg-agents (Gitea) |
| 96 | + |
| 97 | +| PR | Head SHA | Outcome | |
| 98 | +|----|----------|---------| |
| 99 | +| #4 | `654e707` | 3 gates posted (dispatched twice -- synchronised) | |
| 100 | + |
| 101 | +**Total**: 1 PR processed, 2 dispatch events. |
| 102 | + |
| 103 | +### terraphim-service (Gitea) |
| 104 | + |
| 105 | +| PR | Head SHA | Outcome | |
| 106 | +|----|----------|---------| |
| 107 | +| #7 | `e0891be` | 3 gates posted | |
| 108 | + |
| 109 | +**Total**: 1 PR processed. |
| 110 | + |
| 111 | +--- |
| 112 | + |
| 113 | +## Failure Analysis |
| 114 | + |
| 115 | +### Timeout Failures (20 events) |
| 116 | + |
| 117 | +All 20 timeout failures occurred in the PR gate path and were handled fail-closed: the orchestrator posted a `failure` commit status on Gitea and a canonical `adf:gate-result` comment with `"status": "fail"` and `"summary": "agent exceeded 300s PR gate wall-clock limit"`. |
| 118 | + |
| 119 | +Notable timeout clusters: |
| 120 | +- `ca4a6f2ad` (PR #2318 timeout validation test): All 3 gates intentionally timed out. |
| 121 | +- `ab0ecc1` (PR #2365): 2 of 3 gates timed out (pr-reviewer, pr-validator) at ~327s and ~327s. |
| 122 | +- Several `implementation-swarm` agents hit timeout patterns but recovered with `exit_class=success` (the pattern was matched but the agent completed successfully). |
| 123 | + |
| 124 | +### Rate-Limit Failures (7 events) |
| 125 | + |
| 126 | +Rate-limit patterns (`429`, `rate limit`, `ratelimit`) were matched in agent exits: |
| 127 | +- 3 PR gate agents hit rate limits (pr-verifier, pr-reviewer, pr-validator) |
| 128 | +- These were classified as `success` because the `exit_code` was 0; the rate-limit detection is informational. |
| 129 | + |
| 130 | +### Crash/Panic Patterns (3 events) |
| 131 | + |
| 132 | +- `pr-validator` on an earlier head: matched `crash` pattern, `wall_time_secs=670`. |
| 133 | +- `implementation-swarm`: 2 instances of non-zero exit code with `exit_class=unknown`. |
| 134 | + |
| 135 | +### Unknown Exit Classifications (10 events) |
| 136 | + |
| 137 | +Ten agent exits had non-zero exit codes with no matched error pattern: |
| 138 | +- `implementation-swarm`: 8 instances (exit_code=1, wall time ~27-30s) |
| 139 | +- `meta-learning`: 1 instance (exit_code=1, wall time ~30s) |
| 140 | + |
| 141 | +These are typically CI runner pre-check failures (e.g. missing project workspace) rather than agent code bugs. |
| 142 | + |
| 143 | +### Malformed-Output Failures (3 events, intentional) |
| 144 | + |
| 145 | +- `88b008a6` (PR #2318): All 3 gates failed with parse errors on malformed `adf:gate-result` JSON. This was a deliberate live validation of the fail-closed parsing and canonical failure-envelope synthesis. |
| 146 | + |
| 147 | +--- |
| 148 | + |
| 149 | +## Agent Activity Summary |
| 150 | + |
| 151 | +Total agent runs classified: **275** over the period. |
| 152 | + |
| 153 | +| Agent Role | Runs | Dominant Exit Class | Notes | |
| 154 | +|------------|------|--------------------|-------| |
| 155 | +| `implementation-swarm` | 76 | success (with timeout patterns in ~34 cases) | CI build/test agents | |
| 156 | +| `test-guardian` | 24 | success | Post-merge test validation | |
| 157 | +| `spec-validator` | 24 | success | Specification conformance | |
| 158 | +| `pr-verifier` | 23 | empty_success (confidence 0.8) | PR gate verification | |
| 159 | +| `pr-validator` | 23 | empty_success (confidence 0.8) | PR gate validation | |
| 160 | +| `pr-reviewer` | 21 | empty_success (confidence 0.8) | PR code review | |
| 161 | +| `quality-coordinator` | 19 | success | Quality gate orchestration | |
| 162 | +| `security-sentinel` | 18 | success | Security audit | |
| 163 | +| `odilo-developer` | 13 | success | Odilo project developer agent | |
| 164 | +| `product-owner` | 11 | success | Requirements validation | |
| 165 | +| `product-development` | 11 | success | Development workflow | |
| 166 | +| `meta-coordinator` | 7 | success | Multi-agent coordination | |
| 167 | +| Other roles | 5 | success | upstream-synchronizer, roadmap-planner, documentation-generator, meta-learning, gitea-upstream-synchronizer, atomic-upstream-synchronizer | |
| 168 | + |
| 169 | +--- |
| 170 | + |
| 171 | +## Auto-Merge Activity |
| 172 | + |
| 173 | +The auto-merge subsystem scanned all configured projects throughout the week. No PRs were auto-merged; all required human review due to confidence scores below the 5/5 threshold. Notable patterns: |
| 174 | + |
| 175 | +- **Stale verdicts**: Multiple projects (`atomic-server`, `odilo`, `terraphim-ai`) had PRs where the review SHA no longer matched the current head. |
| 176 | +- **Parse failures**: Several `terraphim-ai` PRs had reviewer comments that could not be parsed (missing confidence score headers, malformed footers), preventing auto-merge evaluation. |
| 177 | +- **Confidence distribution**: Reviewed PRs typically scored between 2/5 and 4/5; none reached the auto-merge threshold of 5/5. |
| 178 | + |
| 179 | +--- |
| 180 | + |
| 181 | +## Platform Health |
| 182 | + |
| 183 | +- **Service restarts**: The `adf-orchestrator.service` was restarted at least 4 times during the period (PID changes: `2252029` -> `1732284` -> `582580` -> `645542` -> `2130651`). These correspond to binary deployments for the PR #2318 iterative validation. |
| 184 | +- **Reconcile loop**: The reconcile tick typically completed in 300-1800ms but occasionally hit SLOW warnings (>5s) during repository auto-merge enumeration of the large `terraphim-ai` PR backlog (~292 open issues, ~85 open PRs). |
| 185 | +- **Telemetry lag**: Output event telemetry regularly reported skipped events for PR gate agents (typically 600-1900 events lagged per 30s interval), indicating the `pi-rust` CLI produces output faster than the orchestrator can drain during LLM inference. |
| 186 | + |
| 187 | +--- |
| 188 | + |
| 189 | +## Key Observations |
| 190 | + |
| 191 | +1. **Fail-closed handling validated**: The `PrGateResult` contract's malformed-output and timeout fallback paths were live-tested on PR #2318 commits `88b008a6` and `ca4a6f2ad`. Both correctly produced `failure` statuses and canonical fallback comments. |
| 192 | + |
| 193 | +2. **Native PR gate pipeline operational**: Commits `902f8167b`, `2575c3604`, and `900c00a88` demonstrated the new native pipeline: orchestrator-built bounded prompts (~109k characters), `terraphim_automata` concept matching, head-ref-based evidence fetch, and terminal status posting from parsed `adf:gate-result` blocks. |
| 194 | + |
| 195 | +3. **Reviewer false positive on current head**: The final doc-only commit (`866460a1e`) triggered a reviewer failure (2 blocking findings). The reviewer's concern about truncated diff evidence and traceability gaps is a limitation of the 60k-character comment truncation and the mismatch between the validation report's implementation-commit references and the doc-only head, rather than a code defect. |
| 196 | + |
| 197 | +4. **Cross-repo coverage**: ADF PR gates are active across 6 repositories (`terraphim-ai`, `odilo`, `terraphim-clients`, `terraphim-agents`, `terraphim-kg-agents`, `terraphim-service`) covering the polyrepo split under the `terraphim` Gitea organisation. |
| 198 | + |
| 199 | +5. **No GitHub ADF activity**: The `github.com/terraphim` organisation contains 60+ repositories but ADF gate statuses are posted only to Gitea, which is the authoritative CI and review platform. |
0 commit comments