4960 Commits

Author SHA1 Message Date
flux-bot
c9b40309bd chore(cassandra): automated image update 2026-08-07 17:04:39 +00:00
flux-bot
4ccd3d85c6 chore(cassandra): automated image update 2026-08-07 17:00:38 +00:00
flux-bot
fe54653c18 chore(cassandra): automated image update 2026-08-07 16:56:47 +00:00
flux-bot
6a514a9885 chore(cassandra): automated image update 2026-08-07 16:56:38 +00:00
flux-bot
1919326513 chore(maintenance): automated image update 2026-08-07 13:41:09 +00:00
flux-bot
0767822701 chore(maintenance): automated image update 2026-08-07 13:41:01 +00:00
flux-bot
361baa37ea chore(maintenance): automated image update 2026-08-07 13:39:01 +00:00
flux-bot
4fe4e8d075 chore(cassandra): automated image update 2026-08-07 13:37:16 +00:00
flux-bot
59173a3abf chore(maintenance): automated image update 2026-08-07 13:37:05 +00:00
flux-bot
e949efaad2 chore(cassandra): automated image update 2026-08-07 13:34:00 +00:00
flux-bot
1ed2ba1ebc chore(cassandra): automated image update 2026-08-07 13:29:11 +00:00
flux-bot
2b1b2f9198 chore(cassandra): automated image update 2026-08-07 13:28:58 +00:00
flux-bot
a4a23609e6 chore(cassandra): automated image update 2026-08-07 12:33:50 +00:00
flux-bot
075689ba98 chore(cassandra): automated image update 2026-08-07 12:29:46 +00:00
flux-bot
015fd3b0d5 chore(cassandra): automated image update 2026-08-07 12:25:57 +00:00
flux-bot
b550271a4a chore(cassandra): automated image update 2026-08-07 12:25:47 +00:00
flux-bot
35b064f3bc chore(cassandra): automated image update 2026-08-07 11:18:36 +00:00
flux-bot
0f16a845f0 chore(cassandra): automated image update 2026-08-07 11:15:32 +00:00
flux-bot
facd720fde chore(cassandra): automated image update 2026-08-07 11:11:34 +00:00
flux-bot
1a2ff71f63 chore(cassandra): automated image update 2026-08-07 11:10:44 +00:00
Brad Stein
4e8edf9fac Add SCM poll trigger to cassandra Jenkins job
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
785e9bcf7d chore(maintenance): automated image update 2026-08-07 08:32:54 +00:00
flux-bot
1b48914a9b chore(maintenance): automated image update 2026-08-07 08:11:31 +00:00
jenkins
0855e38c0f feat(ariadne): turn on suggested fixes for unpatchable findings
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
10a629d5a7 feat(ariadne): sweep seven projects, and stop advertising the wrong model
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
jenkins
6db77a4895 fix(demo): follow one incident, and never show another service's run
Two bugs, both visible in a single demo transcript.

The stage memory was one shared set cleared whenever the incident changed. A
ten-minute window routinely holds two incidents - the build just pushed and
the one before it - so they wiped each other's progress and every stage
reprinted on every poll, forever. Memory is now per incident, and the monitor
follows one incident at a time: --incident pins an exact id, --filter matches
a substring, and otherwise the newest wins, which is what someone who just
triggered a build wants.

Worse: the diagnosis panel read the newest diagnosis in the whole table, not
the one for the incident on screen. During a code-demo run it displayed
ananke/249 - a different service, a different failure - directly beneath the
heading naming this incident. Showing an unrelated answer is worse than
showing nothing, because nothing about it looks wrong.

It is now scoped to the incident and reads both event types, since the code
path records a code_proposal rather than a diagnosis - which is why nothing
matched and the fallback took over. There is no fallback any more: an incident
with no recorded run says so.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 04:43:04 -03:00
flux-bot
5db36f9d78 chore(cassandra): automated image update 2026-08-07 06:29:55 +00:00
flux-bot
1ce9c6f383 chore(cassandra): automated image update 2026-08-07 06:25:56 +00:00
flux-bot
372bd9324f chore(cassandra): automated image update 2026-08-07 06:22:13 +00:00
flux-bot
9233e0d1a4 chore(cassandra): automated image update 2026-08-07 06:21:58 +00:00
flux-bot
01b2814889 chore(maintenance): automated image update 2026-08-07 05:15:42 +00:00
flux-bot
1a183d6075 chore(cassandra): automated image update 2026-08-07 05:03:24 +00:00
flux-bot
3288c6e2e9 chore(cassandra): automated image update 2026-08-07 05:03:16 +00:00
flux-bot
d429ab3c89 chore(maintenance): automated image update 2026-08-07 04:54:17 +00:00
jenkins
eceb1d9709 feat(demo): provoke the triage tick instead of waiting a minute for it
Both demos went quiet for up to a minute between the build turning red and
the monitor reacting, because Ariadne's tick is on cron. The scripts now run
that tick immediately over the pod's own loopback - nothing exposed outside
the cluster - and print what it saw, so the pause becomes a visible step
rather than dead air.

Falls back to silence rather than failure: if the request does not land the
scheduler still picks the build up within the minute, which is exactly the
old behaviour.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 01:44:03 -03:00
jenkins
d9e226ca72 fix(demo): stop waiting ten seconds to notice a finished build
wait_for_build slept before its first poll, so a build that had already
finished still bought a full interval of silence. On stage that reads as the
script having missed the result - the build goes red in Jenkins and the
terminal sits there. Polling first and sleeping after removes it entirely: a
finished build now returns in under a second, measured.

The interval drops from ten seconds to three for the same reason. The wait is
dead air in front of an audience and a Jenkins status read is cheap. The
budget is now expressed in seconds rather than poll counts, so shortening the
interval does not silently shorten the timeout.

This is only the script's own latency. Ariadne's autotriage cron is * * * * *,
so an incident still takes up to a minute to appear after a build fails, and
no amount of polling here changes that.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 01:08:24 -03:00
jenkins
438660ae31 feat(demo): show the seeded change before pushing it
The run tab said a defect was seeded and then moved on. The audience had to
take on trust both that a change was made and that the diagnosis Hermes
produced two minutes later actually matched it. Printing the diff first closes
that gap: they watch the wrong line go in, then watch a model find the same
line without being told where it is.

Placed before the commit rather than after the push because this is the only
moment in the demo where a human changes any code, and it is worth being seen
as such. The short sha follows the push so the commit on screen can be matched
to the one Jenkins builds.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 00:59:21 -03:00
flux-bot
8e6977adc2 chore(maintenance): automated image update 2026-08-07 03:52:04 +00:00
flux-bot
32f548a462 chore(maintenance): automated image update 2026-08-07 03:41:56 +00:00
flux-bot
770a7c05bc chore(maintenance): automated image update 2026-08-07 03:25:49 +00:00
flux-bot
17dd91814e chore(maintenance): automated image update 2026-08-07 03:16:02 +00:00
jenkins
8c47328b23 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
e1be7ef351 chore(maintenance): automated image update 2026-08-07 02:56:19 +00:00
jenkins
365d075137 feat(demo): print the Hermes run link at the decision stage
The Hermes stage is where the demo claims a model made the call. It showed the
stored JSON and named the run id, which asks the audience to take the rest on
trust. It now prints the console link for that exact run, so the claim can be
opened on screen instead of described.

Same route the pull request links to, so following either lands on the same
page.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 23:46:42 -03:00
flux-bot
15e04f75bb chore(maintenance): automated image update 2026-08-07 02:27:09 +00:00
jenkins
1bfb29388a 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
de2d680f17 chore(cassandra): automated image update 2026-08-07 02:02:23 +00:00
flux-bot
88b81c1ba7 chore(cassandra): automated image update 2026-08-07 01:59:02 +00:00
flux-bot
b29f9ec60c chore(cassandra): automated image update 2026-08-07 01:55:00 +00:00
flux-bot
7c4662a095 chore(cassandra): automated image update 2026-08-07 01:54:22 +00:00