Skip to content

chore(olympus): align .olympus.json — current model + Greek-deity agent names#173

Merged
vaderyang merged 3 commits into
mainfrom
chore/bump-olympus-model
Jun 23, 2026
Merged

chore(olympus): align .olympus.json — current model + Greek-deity agent names#173
vaderyang merged 3 commits into
mainfrom
chore/bump-olympus-model

Conversation

@vaderyang

@vaderyang vaderyang commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

Two corrections to the Olympus agent config (.olympus.json), both pure config — no workflow or code changes.

1. Model off a retired ID

model pinned claude-3-5-sonnet-20241022, retired 2025-10-28 — requests carrying it would 404 once they reach the upstream provider through the LiteLLM-style gateway. Moved the dev/review agents to claude-sonnet-4-6, the documented drop-in for that retired ID (same Sonnet tier, current generation). Opus 4.8 is a one-line follow-up if we want higher implement/review quality.

2. Agent names → Greek-deity convention

Olympus names its roles after Greek deities (its own dogfood config uses themis/hephaestus/argus). heron carried over off-theme early names through the #167 migration (which only renamed + version-bumped). Aligned:

Role Field Before After
Review bot agents.review_bot_login vivi themis
Dev agent agents.dev_agent_name wiwi hephaestus
Observer observer.labels mara,incident argus,incident

Why this is safe: review_bot_login is a body-footer marker (reviews post as github-actions and are signed with this value; auto-merge/revise grep for it) — renaming the one config value keeps signing and matching consistent. dev_agent_name is the commit-author display name. The observer label is currently dormant (heron wires no observe.yml). Past PRs/issues keep their historical wiwi/vivi text; no functional impact going forward.

Validation

  • .olympus.json is valid JSON
  • Validates against the Olympus v0.4.0 schema
  • scripts/lint/check-olympus-migration.sh — 0 failures

Vader Yang added 2 commits June 20, 2026 01:07
claude-3-5-sonnet-20241022 was retired 2025-10-28; the LiteLLM gateway would
404 on it. Move wiwi/vivi to claude-sonnet-4-6, the documented drop-in for that
retired ID — same Sonnet tier, current generation. Validates against the v0.4.0
olympus schema.
Olympus's design names its roles after Greek deities (its own dogfood config
uses themis/hephaestus/argus). heron carried over off-theme early names through
the #167 migration. Align them:

- review_bot_login: vivi -> themis (justice/order — the reviewer)
- dev_agent_name:   wiwi -> hephaestus (the forge — the implementer)
- observer label:   mara -> argus (the all-seeing watchman)

review_bot_login is a body-footer marker (reviews post as github-actions), so
auto-merge/revise key off the config value consistently — self-contained rename.
dev_agent_name is the commit-author display name. The observer label is dormant
(heron wires no observe.yml). Validates against the v0.4.0 olympus schema.
@vaderyang vaderyang changed the title chore(olympus): bump agent model off retired claude-3-5-sonnet-20241022 chore(olympus): align .olympus.json — current model + Greek-deity agent names Jun 22, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I now have a complete picture. The README.md:21 "observer" reference is generic English usage (the product concept), not a reference to the mara/argus agent label — so it's unaffected.

Let me do one final verification: confirm the first commit's claim that claude-3-5-sonnet-20241022 was "retired 2025-10-28" and that claude-sonnet-4-6 is valid. The repo's own system context (in the system prompt) confirms: "The most recent Claude model family is Claude 4.X. Model IDs — Opus 4.7: 'claude-opus-4-7', Sonnet 4.6: 'claude-sonnet-4-6'..." So claude-sonnet-4-6 is a current, valid model ID. The first commit's rationale is sound.

I have enough to write the review. Let me compile my findings:

Summary of findings:

  1. Functionally self-contained — confirmed via grep: no shell script, workflow, or code does a string comparison against the literal names vivi/wiwi/mara. All references are in comments and docs.
  2. Documentation drift (Suggestion-level) — the rename leaves docs/filing-issues.md and docs/pr-review-agent.md using the old names throughout, now contradicting the config. The commit message's "self-contained" claim is technically true for functional code but misleading for the doc surface.
  3. Pre-existing stale commentscripts/staging/longevity-soak.sh:176 references "mara.sh's scrub()" but the script was removed (renamed to tara.sh) in commit 9238cce. Not introduced by this PR, but the rename makes the drift more confusing.
  4. First commit (model bump) is cleanclaude-sonnet-4-6 is a valid current model ID per the repo's own model guidance; the retired-model rationale is correct.
  5. No sensitive-info leakage, no SQL/schema/capture-pipeline concerns (config-only PR).

Summary

PR #173 is a two-commit chore on .olympus.json: (1) bump the agent model from the retired claude-3-5-sonnet-20241022 to claude-sonnet-4-6, and (2) rename the three agent role labels (vivi→themis, wiwi→hephaestus, mara→argus) to match olympus's Greek-deity convention. Both commits are config-only — no Rust, SQL, console, or workflow-logic changes. The model bump is correct (claude-sonnet-4-6 is a current valid ID per the repo's own model guidance). The rename is functionally self-contained: I grepped the whole repo and no shell script, workflow, or code does a string comparison against the literal names — every reference is in comments or docs. Recommendation: COMMENT — safe to merge, but the doc surface is now inconsistent with the config and a reviewer should decide whether to fix that in this PR or a follow-up.

Suggestions

  • docs/filing-issues.md:4,23,26,38,39,42 — The rename leaves this doc using wiwi and vivi throughout the flow description (e.g. line 23 "wiwi (dev agent)", line 26 "vivi (review agent)", line 42 "vivi reviews every PR"). With .olympus.json now saying hephaestus/themis, a reader can't map the doc's agent names back to the config. The commit message calls the rename "self-contained" — true for functional code, but misleading for the doc surface that describes the agent flow. Either update the doc in this PR, or add a one-line mapping note (wiwi=hephaestus, vivi=themis, mara=argus) so the old names in prose stay decipherable.
  • docs/pr-review-agent.md:118–152 — Same drift: the auto-revise section references wiwi and vivi repeatedly (lines 118, 120, 121, 124, 131, 134, 145, 148, 152). Since this doc is the reference for how PR review works, the names should either be updated or cross-referenced to the config values.
  • docs/filing-issues.md:148 — Says "observer mara files incidents automatically" — now contradicts the config's argus label. Minor, but it's the one place a doc explicitly names the observer agent, and it's now stale.
  • scripts/staging/longevity-soak.sh:176 — Pre-existing (not introduced by this PR): the comment says "IN SYNC with mara.sh's scrub() (the canonical copy)" but mara.sh was removed in commit 9238cce (the in-tree agent-bot fallbacks were deleted when work was delegated to olympus). The canonical scrub now lives in longevity-soak.sh itself (or olympus-side). The mara→argus rename in this PR makes the drift more confusing — a reader chasing the referenced "canonical copy" will find neither mara.sh nor argus.sh. Worth a drive-by fix or a note that the canonical copy is now this function.
  • scripts/lint/secrets.allowlist:25,27 — Comment references "wiwi-spawned (issue-linked) PRs" and "See auto_merge.sh / run_wiwi.sh" — both the name and the referenced script paths are stale (scripts/agent-bot/ was removed). Again pre-existing, but the rename widens the gap. Non-blocking; the secret itself (AUTO_MERGE_TEAM) is unaffected.

Questions

  • The commit message for the second commit says "review_bot_login is a body-footer marker (reviews post as github-actions), so auto-merge/revise key off the config value consistently — self-contained rename." I confirmed no in-repo code keys off the literal vivi/themis string. But does the olympus reusable workflow (Netis/olympus/.github/workflows/review.yml@v0.4.0) read review_bot_login from .olympus.json at runtime and match it against the review-comment footer / PR-author login? If olympus does that string match, the rename is only safe if olympus reads the value dynamically (not a hardcoded vivi on its side). The commit message asserts this but I can't verify olympus's side from this repo. Can the author confirm olympus v0.4.0 consumes review_bot_login from the config rather than hardcoding the old name?
  • Why keep docs/filing-issues.md and docs/pr-review-agent.md on the old names? Is there an intent to retire those docs, or was the doc update just deferred? If deferred, a tracking issue would keep the drift visible.

Verified

  • No functional string-match on old names: grepped *.sh, .github/workflows/*, and the whole repo for vivi|wiwi|mara — every hit is in a comment or markdown prose; no ==/grep/case comparison in shell or YAML keys off the literal.
  • Model ID validity: claude-sonnet-4-6 matches the repo's own documented current-model ID (system context lists Sonnet 4.6: 'claude-sonnet-4-6'). The retired-model rationale in commit 1 is correct.
  • Observer-label dormancy claim: confirmed no observe.yml exists in .github/workflows/; the observer.labels field is consumed only by an olympus-side workflow heron doesn't wire, so the mara→argus label change has no in-repo effect.
  • No sensitive-info leakage: the diff is config-only with no IPs, credentials, hostnames, or paths.
  • Schema/validation gate: scripts/lint/check-olympus-migration.sh only enforces olympus_ref version consistency across the 5 wrapper workflows — it does NOT validate the model or agents.* values against the olympus JSON schema. So schema-conformance for the new values is only enforced at olympus-runtime, not by this repo's CI.

🤖 Reviewed by the review botworkflow run

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_agentops/ is a separate git repo (not a submodule — heron has no .gitmodules). It's a standalone clone, presumably of Netis/olympus, vendored locally for development. Its .olympus.json is olympus's own dogfood config, not heron's. The staleness of _agentops/.olympus.json's model field is an upstream olympus concern — it's not part of this PR's diff, and this PR shouldn't be expected to fix it. I'll note it as a non-blocking observation but not block on it.

I now have everything I need. Let me also quickly confirm the check-leakage.sh lint wouldn't flag any of the renamed values (none are IPs/keys, so it won't) and verify the schema validation one more way — the local lint already passed (CI is green per the prompt).

Final assessment: This is a clean, minimal config rename. The functional consumers are all in the external olympus repo (which already uses the Greek names in its own dogfood config, per _agentops/.olympus.json). The lingering vivi/wiwi/mara strings in heron are stale comments/docs describing removed in-tree scripts — they're pre-existing drift, not introduced by this PR, and don't break anything. The one operational concern (in-flight PRs with old vivi body-footers) is worth raising as a question but isn't a code defect.

Summary

PR #173 makes two chore-level edits to .olympus.json: (1) bump model from the retired claude-3-5-sonnet-20241022 to claude-sonnet-4-6, and (2) rename review_bot_login/dev_agent_name/observer.labels from vivi/wiwi/mara to themis/hephaestus/argus to match olympus's Greek-deity convention. The change is correct and safe: all functional consumers of these fields live in the external Netis/olympus reusable workflows (pinned at v0.4.0), and olympus's own dogfood config (_agentops/.olympus.json) already uses the Greek names — so this aligns heron with the upstream convention. The lingering vivi/wiwi/mara strings in heron's workflow comments and docs are stale references to already-removed in-tree scripts, not runtime consumers. Recommendation: APPROVE.

Blocking

None.

Suggestions

  • _agentops/.olympus.json:35 — This vendored olympus dogfood config still pins "model": "claude-3-5-sonnet-20241022" (the retired model that commit 1 of this PR migrates off). It's outside this PR's scope (it's a separate git repo, not heron's config), but worth flagging to the author so it gets fixed upstream — otherwise the local _agentops working tree can't actually drive the agent through LiteLLM. Pre-existing, not introduced here.
  • .github/workflows/pr-review.yml:3 — Comment still says "Headless code-review agent (vivi)". Same pattern at issue-implement.yml:3-4,12,16,24-25, pr-revise.yml:3,5-6,11, ci.yml:7,178, and issue-triage.yml:14. These are stale narrative references to a renamed bot. Not functional, but if the goal of this PR is name alignment, a follow-up to refresh these comments (or an explicit decision to leave them as historical context) would close the loop. Pre-existing drift.
  • docs/pr-review-agent.md:118-152 — The doc still describes vivi/wiwi and references scripts/agent-bot/revise_dispatch.sh, run_revise.sh, run_wiwi.sh as in-tree scripts, but pr-review.yml:11-14 states those scripts were removed when the logic moved to olympus. This doc is out of date with the delegation that happened before this PR; the rename makes the doc drift louder but didn't cause it. Pre-existing.

Questions

  • .olympus.json:8 — The commit message says review_bot_login is "a body-footer marker (reviews post as github-actions), so auto-merge/revise key off the config value consistently." If olympus identifies its own past reviews by grepping the review body for this marker, then reviews already posted on currently-open PRs carry the old vivi marker and won't match the new themis lookup after this merges. Is there a transition concern for in-flight auto-agent PRs (e.g. ones awaiting revise rounds), or does olympus match reviews by author login / a stable identifier instead of the footer string?
  • .olympus.json:33observer.labels is changed from mara,incident to argus,incident. The commit says "the observer label is dormant (heron wires no observe.yml)." Confirmed: I found no observe.yml workflow in .github/workflows/. Is the argus label expected to exist on the GitHub repo's label set (for when olympus's observe workflow is eventually wired), and has it been created? If the label doesn't exist, GitHub will silently drop it on issue creation — but since it's dormant, this is purely forward-looking.

Verified

  • No in-tree functional consumers of the renamed fields. Grep for review_bot_login/dev_agent_name/themis/hephaestus/argus returns only .olympus.json itself — no Rust, TS, shell, or workflow YAML reads these values. All consumers are in the external Netis/olympus reusable workflows invoked via uses: Netis/olympus/.github/workflows/*.yml@v0.4.0 in pr-review.yml:42, issue-implement.yml (uses line), issue-triage.yml, pr-revise.yml:33, and guard.yml.
  • Olympus's own dogfood config already uses the Greek names. _agentops/.olympus.json:8-9,33 has themis/hephaestus/argus — confirming the commit message's claim that the convention originates upstream and heron is aligning to it.
  • Local lint passes structurally. scripts/lint/check-olympus-migration.sh validates .olympus.json existence, $schema URL, and wrapper version agreement — it does not constrain the value of review_bot_login/dev_agent_name/observer.labels/model, so the rename can't trip it.
  • No sensitive-information leakage. The diff contains only agent-name strings, a label name, and a public model ID. No IPs, credentials, hostnames, paths, or key material.
  • vivi/wiwi/mara remnants are comments/docs only. Verified via grep: all remaining occurrences are in #-comments in .github/workflows/*.yml, scripts/lint/secrets.allowlist, and prose in docs/*.md. None are parsed by code. They describe the pre-migration in-tree scripts that pr-review.yml:11-14 confirms were removed.

🤖 Reviewed by the review botworkflow run

@vaderyang
vaderyang merged commit 2535806 into main Jun 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant