4618 Commits

Author SHA1 Message Date
flux-bot
ed989566a5 chore(cassandra): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 143
2026-08-07 11:18:36 +00:00
flux-bot
5f8cd6c533 chore(cassandra): automated image update 2026-08-07 11:15:32 +00:00
flux-bot
c44b0ac021 chore(cassandra): automated image update 2026-08-07 11:11:34 +00:00
flux-bot
57c913e5e3 chore(cassandra): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 143
2026-08-07 11:10:44 +00:00
Brad Stein
334fefff6c Add SCM poll trigger to cassandra Jenkins job
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 143
The cassandra pipelineJob had no trigger, so Gitea's notifyCommit
webhook found no matching job and pushes only built when started
manually. Poll every 5 minutes like lesavka/typhon so pushes build
within one poll cycle and the webhook race disappears.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-07 06:52:27 -03:00
flux-bot
e3b19fe751 chore(maintenance): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
2026-08-07 08:32:54 +00:00
flux-bot
b27e6c9dbc chore(maintenance): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
2026-08-07 08:11:31 +00:00
jenkins
100abc9dd5 feat(ariadne): turn on suggested fixes for unpatchable findings
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
Most of the SonarQube backlog is refactors too diffuse for an anchored patch,
so without this the majority of what static analysis knows never reaches a
maintainer. Deduped on the rule like the pull requests, so one root cause
yields one issue.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 05:00:25 -03:00
jenkins
d0cc188a25 feat(ariadne): sweep seven projects, and stop advertising the wrong model
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
The sweep covered four projects because only four had a write allowlist.
ananke (Go, cmd/ and internal/), pegasus (Go backend, TS frontend) and
atlasbot (Python) all have SonarQube projects and mapped repositories; they
were excluded only for want of prefixes and suffixes, which are now set from
each repository's actual layout.

The per-sweep ceiling rises to seven, one per project. With rule-level dedupe
a project stops producing proposals once every rule it has is already under
review, so this is a ceiling rather than a rate - the backlog cannot become a
queue nobody drains.

The Hermes deployment annotation still advertised gpt-5.6-terra as primary.
The config has had claude-opus-5 as default and primary for some time, so the
annotation was telling operators the wrong thing about which model made a
decision.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 04:45:15 -03:00
flux-bot
5090cd85b5 chore(cassandra): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
2026-08-07 06:29:55 +00:00
flux-bot
6c50df9177 chore(cassandra): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
2026-08-07 06:25:56 +00:00
flux-bot
4af3253b60 chore(cassandra): automated image update 2026-08-07 06:22:13 +00:00
flux-bot
92f1339b38 chore(cassandra): automated image update 2026-08-07 06:21:58 +00:00
flux-bot
bc8ecc895b chore(maintenance): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
2026-08-07 05:15:42 +00:00
flux-bot
308db59706 chore(cassandra): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
2026-08-07 05:03:24 +00:00
flux-bot
f4959d5cf0 chore(cassandra): automated image update 2026-08-07 05:03:16 +00:00
flux-bot
4877c79ed3 chore(maintenance): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
2026-08-07 04:54:17 +00:00
flux-bot
cdef6cee4b chore(maintenance): automated image update 2026-08-07 03:52:04 +00:00
flux-bot
0206ef0424 chore(maintenance): automated image update 2026-08-07 03:41:56 +00:00
flux-bot
0a62993518 chore(maintenance): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
2026-08-07 03:25:49 +00:00
flux-bot
0622b0fdea chore(maintenance): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
2026-08-07 03:16:02 +00:00
jenkins
bab620fb61 feat(ariadne): sweep four services, and link proposals to the finding
Only one pull request appeared because the sweep was scoped to one project at
one proposal per hour - a throttle I set deliberately while nothing had ever
run, not a limit of the mechanism. It has now run, so it widens to every
project whose job also has a write allowlist: ariadne, metis, soteria and
bstein-dev-home. The rest are left out because without allowed prefixes
nothing is patchable, and a sweep would spend a SonarQube call to discover it
has nowhere to write.

Still one proposal per project per hour. The backlog is 139 findings on
Ariadne alone; the constraint that matters is how many pull requests a person
will actually read, not how many the mechanism could open.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 00:06:33 -03:00
flux-bot
855d0537dc chore(maintenance): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
2026-08-07 02:56:19 +00:00
flux-bot
041383449f chore(maintenance): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
2026-08-07 02:27:09 +00:00
jenkins
2661d4da11 feat(ariadne): link pull requests to the Hermes run that wrote them
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 23:17:06 -03:00
flux-bot
7bd2f509b8 chore(cassandra): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
2026-08-07 02:02:23 +00:00
flux-bot
83af44806b chore(cassandra): automated image update 2026-08-07 01:59:02 +00:00
flux-bot
885b30cc5c chore(cassandra): automated image update 2026-08-07 01:55:00 +00:00
flux-bot
189434e3f6 chore(cassandra): automated image update 2026-08-07 01:54:22 +00:00
jenkins
4cc0de7fff fix(ariadne): read the SonarQube token from a path Ariadne can already reach
The sweep's token was injected from kv/data/atlas/quality/sonarqube-oidc,
which the maintenance role cannot read. I granted that path on the live policy
and verified the read, but the grant was reverted by whatever manages Vault
policy, and the next rollout wedged: vault-agent-init retries a 403 forever, so
the pod never initializes and the Deployment cannot roll. The old replica kept
serving, which is the only reason this was not an outage.

A template block that depends on a grant outside this repository is the actual
defect. The token now lives beside Ariadne's other credentials in
kv/data/atlas/maintenance/ariadne-db - a path its role has always been able to
read - so no policy change is needed and nothing outside this repo can revoke
it. Existing keys at that path were merged, not replaced.

Guarded with an if, so a deployment whose secret predates the key renders an
empty value and starts normally instead of blocking on a missing field. The
sweep then reports an empty token and skips, which is the right failure: no
sweep is much better than no Ariadne.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 22:42:23 -03:00
flux-bot
51ebb076c2 chore(maintenance): automated image update 2026-08-07 01:40:41 +00:00
flux-bot
314171d29f chore(maintenance): automated image update 2026-08-07 01:38:08 +00:00
flux-bot
44753bc0e9 chore(maintenance): automated image update 2026-08-07 01:37:12 +00:00
flux-bot
165b90b335 chore(maintenance): automated image update 2026-08-07 01:35:35 +00:00
flux-bot
c395f477c8 chore(maintenance): automated image update 2026-08-07 01:33:03 +00:00
flux-bot
6de765966f chore(maintenance): automated image update 2026-08-07 01:28:57 +00:00
flux-bot
3775fe4101 chore(cassandra): automated image update
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 142
2026-08-07 01:25:04 +00:00
flux-bot
d8620a7c1d chore(cassandra): automated image update 2026-08-07 01:18:50 +00:00
flux-bot
fd9bfcd083 chore(cassandra): automated image update 2026-08-07 01:14:59 +00:00
flux-bot
9972895bc2 chore(cassandra): automated image update 2026-08-07 01:13:56 +00:00
jenkins
0428110eec feat(ariadne): enable the SonarQube sweep, scoped to one project
Static analysis findings never fail a build, so nothing has ever pulled them
into triage. There are 139 open on Ariadne alone, each already naming its
file, line and rule - better-located evidence than the console text the
code-repair flow usually mines.

Scoped deliberately narrow to start: one project, one proposal per hourly
sweep, and only findings SonarQube itself estimates at 20 minutes or less.
Effort is the filter rather than severity because it is the closest proxy for
the single anchored change the patch validator can actually check. The
64-open-proposal ceiling still applies on top, so the queue cannot grow while
nobody is draining it.

Hotspots are not in the type list and cannot be: SonarQube models them as
needing human review, this instance's quality gate fails on exactly that
condition, and an automation that resolved them would be marking them reviewed
without review.

The token comes from Vault. Ariadne's maintenance role was granted read on
kv/data/atlas/quality/sonarqube-oidc, which it did not previously have.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 22:13:03 -03:00
flux-bot
86420ecfee chore(maintenance): automated image update
Some checks failed
Tests / Declarative: Post Actions testing.tests.test_repo_structure.test_knowledge_service_mirror_matches_source failed
2026-08-07 00:34:37 +00:00
flux-bot
71fe6ddcbb chore(maintenance): automated image update 2026-08-07 00:22:19 +00:00
jenkins
c73a79a243 feat(ariadne): allowlist clear_stuck_agent_pods
A build whose agent never started is a distinct failure from one that lost a
connection mid-run, and a plain retry queues behind the same stuck pods. The
remediation clears pods that have already succeeded or failed - Ariadne's
existing scheduled cleanup - and only then rebuilds.

Mapping jenkins_agent_provisioning_failure to it keeps the one-classification-
one-action rule: a diagnosis asking for this action under any other
classification is still refused before anything runs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 21:16:21 -03:00
flux-bot
649e6f1e37 chore(cassandra): automated image update 2026-08-07 00:15:39 +00:00
flux-bot
117e63b62c chore(maintenance): automated image update 2026-08-07 00:13:14 +00:00
flux-bot
06fb7e2747 chore(cassandra): automated image update 2026-08-07 00:06:20 +00:00
flux-bot
64ae7e13c2 chore(maintenance): automated image update
Some checks failed
Tests / Declarative: Post Actions testing.tests.test_repo_structure.test_knowledge_service_mirror_matches_source failed
2026-08-07 00:00:14 +00:00
flux-bot
a4fccb127d chore(cassandra): automated image update 2026-08-06 23:59:08 +00:00
flux-bot
159442c93f chore(cassandra): automated image update 2026-08-06 23:58:01 +00:00