4593 Commits

Author SHA1 Message Date
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
jenkins
d631500019 feat(ariadne): allowlist reclaim_workspace_storage
Maps workspace_storage_exhausted to the reclaim action, so a build that failed
on a full workspace volume is remediated rather than escalated.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 20:55:52 -03:00
jenkins
7f5508c930 feat(ariadne): declare the fix categories, and show them beside the actions
Some checks failed
Tests / Declarative: Post Actions testing.tests.test_repo_structure.test_knowledge_service_mirror_matches_source failed
The three categories now appear in the deployment next to the action
allowlist, and the monitor prints both at the policy gate so the difference is
visible during a demo rather than asserted: two ids Ariadne may execute on its
own authority, three categories it may only ask Hermes to propose a patch for.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 20:46:55 -03:00
jenkins
4ffcae8b3c fix(gitea): raise the memory ceiling; time-bound the demo cleanup calls
Gitea wedged at 2073Mi against a 2Gi limit: its API stopped answering even on
its own loopback, and the repeated SSH LoginGraceTime drops in its log were
starvation symptoms rather than a separate fault. Raised to 3Gi.

The reset command's Gitea calls had no --max-time, so a slow service became an
indefinite hang with no output - the script appeared frozen after 'clearing
bstein/hermes-code-demo'. They now fail after 25 seconds and say so.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 20:04:42 -03:00
jenkins
51338921b6 fix(demo): read the container exit code, not the Job status
Some checks failed
Tests / Declarative: Post Actions testing.tests.test_repo_structure.test_knowledge_service_mirror_matches_source failed
The fixture check waited on the Job's .status.succeeded/.status.failed. The
kubelet records a container's exit code the instant it stops, but the Job
controller reconciles those fields on its own schedule: observed at 2m24s,
4m27s and 34m on this cluster for identical work. During that window the pod
had already exited 1 and the build sat printing 'Will try again after 13 sec',
looking hung long after the test had finished, which is unusable in a demo.

Polling the pod's terminated exitCode removes the controller from the path
entirely. The Job is still used, so the evidence shape is unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 17:11:45 -03:00
flux-bot
a2e167895b chore(cassandra): automated image update 2026-08-06 20:02:10 +00:00
flux-bot
5d5110672c chore(cassandra): automated image update 2026-08-06 19:58:14 +00:00
flux-bot
fc571aa434 chore(cassandra): automated image update
Some checks failed
Tests / Declarative: Post Actions testing.tests.test_repo_structure.test_knowledge_service_mirror_matches_source failed
2026-08-06 19:54:19 +00:00
flux-bot
3868286f7c chore(cassandra): automated image update 2026-08-06 19:54:11 +00:00
flux-bot
36b61470b5 chore(cassandra): automated image update
Some checks failed
Tests / Declarative: Post Actions testing.tests.test_repo_structure.test_knowledge_service_mirror_matches_source failed
2026-08-06 19:45:07 +00:00
flux-bot
cf9cc19d13 chore(cassandra): automated image update 2026-08-06 19:41:13 +00:00
flux-bot
6595600afc chore(cassandra): automated image update
Some checks failed
Tests / Declarative: Post Actions testing.tests.test_repo_structure.test_knowledge_service_mirror_matches_source failed
2026-08-06 19:37:15 +00:00
flux-bot
29b1eae746 chore(cassandra): automated image update 2026-08-06 19:37:03 +00:00
flux-bot
f96fb30522 chore(maintenance): automated image update 2026-08-06 18:53:56 +00:00
flux-bot
7e2b983956 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-06 18:36:56 +00:00
flux-bot
d8935d0359 chore(cassandra): automated image update
Some checks failed
Tests / Declarative: Post Actions testing.tests.test_repo_structure.test_knowledge_service_mirror_matches_source failed
2026-08-06 17:57:35 +00:00
flux-bot
f57809c74e chore(cassandra): automated image update 2026-08-06 17:53:48 +00:00
flux-bot
a17e67e8fd chore(cassandra): automated image update 2026-08-06 17:49:47 +00:00
flux-bot
52a4768413 chore(cassandra): automated image update 2026-08-06 17:48:33 +00:00
jenkins
fa7c213927 docs(hermes): drop demonstration framing from the agent workspace
Some checks failed
Tests / Declarative: Post Actions testing.tests.test_repo_structure.test_knowledge_service_mirror_matches_source failed
START-HERE.md is visible in the Hermes dashboard, so its wording is part of
what an operator sees. Describing the runbook as a five-minute demonstration
frames the automation as a set piece rather than as something that runs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 14:26:13 -03:00
flux-bot
e205eaf8fa 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-06 17:17:37 +00:00
flux-bot
9014579cd8 chore(cassandra): automated image update 2026-08-06 17:15:24 +00:00
flux-bot
af5245699c chore(cassandra): automated image update 2026-08-06 17:12:02 +00:00
flux-bot
52c287598c chore(cassandra): automated image update
Some checks failed
Tests / Declarative: Post Actions testing.tests.test_repo_structure.test_knowledge_service_mirror_matches_source failed
2026-08-06 17:09:09 +00:00
flux-bot
9e066d1980 chore(cassandra): automated image update 2026-08-06 17:08:01 +00:00
flux-bot
7a0d30005e 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-06 16:18:37 +00:00