Rename to Olympus (+ pantheon, roadmap, migration tooling)#8
Merged
Conversation
…ent plan Rewrite docs/roadmap.md as a three-horizon product roadmap for agent-ops as an open-source multi-repo agentic maintenance product (foundation & credibility → adoption & ecosystem → scale & fleet), absorbing the old v0.2/v0.3+ items into Horizon 1. Add docs/improvement-plan.md with the phased codebase-level breakdown (v0.2.x injection containment + prompt generalization, v0.3 robustness + run-summary observability, v0.4 test/eval depth + community furniture), each item with rationale tied to an audit finding and an acceptance criterion. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add docs/pantheon.md: the function→deity mapping (Hermes triage, Hephaestus implement/revise, Themis review, Argus observer, Cerberus guard, Asclepius doctor, the Labours evals, Atlas fleet, Agora demo), the two-layer rename scope (brand vs mechanism), and the zero-consumer timing argument. Insert the rename as improvement-plan item 0.2-0 and roadmap item H1.0, and switch all forward-looking references in both docs to the Olympus names. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…heon The zero-consumer window (improvement-plan 0.2-0): heron has not onboarded and self-dogfood is dormant, so the breaking mechanism-layer rename costs one self-contained change with no compatibility shims. Brand + mechanism: - repo refs Netis/agent-ops → Netis/olympus; workflow input agent_ops_ref → olympus_ref - config file .agent-ops.json → .olympus.json; schema/agent-ops.schema.json → schema/olympus.schema.json - env prefixes AGENT_OPS_* → OLYMPUS_*, MARA_* → ARGUS_*; loader agent_ops_load_config → olympus_load_config Pantheon (function → deity): - triage Hermes · implement/revise Hephaestus (run_wiwi.sh → run_hephaestus.sh) · review Themis · observer Argus (mara.sh/.service/.timer → argus.*, test_mara.py → test_argus.py) - config.sh default identities → themis / hephaestus Folds in improvement-plan 0.2-3 (pure string → config var): - post_review.py footer now reads OLYMPUS_REVIEW_BOT_LOGIN via a tested build_footer() helper, never a hardcoded name - run_hephaestus.sh prompt + PR body use $OLYMPUS_DEV_AGENT_NAME / $OLYMPUS_REVIEW_BOT_LOGIN - argus systemd units de-heron-ed Verified: shellcheck clean, bash -n clean, all unit + eval tests green, leakage gate green, acceptance grep finds zero legacy tokens in the code tree. (triage.yml assess_label input promotion — the remaining 0.2-3 bullet — and the 0.2-1 security work are deliberately left as follow-ups.) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Prose project name → Olympus; config/paths/env (.olympus.json, OLYMPUS_*, olympus_ref, schema/olympus.schema.json) and runner labels/resource names (self-hosted,olympus · olympus-runner) → lowercase olympus; agent names → deities (run_hephaestus.sh, argus, themis). The pantheon/roadmap/improvement-plan docs intentionally retain the legacy names where they document the rename. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…act doc scripts/lint/check-legacy-naming.sh flags pre-rename naming (repo ref, olympus_ref input, .olympus.json filename, env prefixes, runner label, retired agent personas). Two users: a consumer upgrading to an Olympus tag (run in repo root, prints exactly what to change), and this repo's own CI as a regression guard so the rename can't silently leak back — wired into ci.yml. docs/migration.md answers 'what breaks for an already-applied repo': a wrapper pinned to a pre-rename tag keeps working (frozen tag content + GitHub uses: redirect); a moving ref drifts to defaults; upgrading to an Olympus tag needs the mapping. heron is unaffected — still in-tree, not a consumer yet. Note: git grep's regex engine has no \b word-boundary support, so the linter matches retired agent names by substring (COSMETIC) rather than \b; the rename itself was re-verified clean with plain-substring greps across the full tree. Verified: shellcheck clean; self-check exits 0 on this repo; exits 1 with a correct change-list on a synthetic legacy consumer; leakage gate green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…@sha The reusable workflows hardcoded `repository: Netis/olympus` for the mechanism-scripts checkout. With the GitHub repo still named agent-ops, the self-guard run failed: 'repository Netis/olympus not found'. Add an `olympus_repo` input (default Netis/olympus — consumer behavior unchanged) and have the self-*.yml wrappers pass `github.repository` + `github.sha`. Self-dogfood now fetches THIS repo at THIS commit: name-agnostic (works before and after the GitHub repo rename) and it tests the current branch's scripts instead of main's (a pre-existing quirk). Applied to all six reusable workflows and five self wrappers. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Renames the mechanism agent-ops → Olympus and gives each loop surface the deity whose domain matches its function, plus the planning docs behind the move and a migration linter. Done now because the consumer count is zero (heron is still in-tree, self-dogfood dormant) — the one window where the breaking mechanism-layer rename costs a single self-contained change with no compatibility shims.
What's in it
Planning (docs)
docs/roadmap.md— rewritten as a 3-horizon open-source product roadmap (foundation/credibility → adoption/ecosystem → scale/fleet).docs/improvement-plan.md— phased engineering plan (v0.2.x/v0.3/v0.4), each item tied to an audit finding + acceptance criterion.docs/pantheon.md— the function→deity mapping, the two-layer rename scope, and the zero-consumer timing argument.The rename (breaking, mechanism layer)
Netis/agent-ops→Netis/olympus; workflow inputagent_ops_ref→olympus_ref.agent-ops.json→.olympus.json;schema/agent-ops.schema.json→schema/olympus.schema.jsonAGENT_OPS_*→OLYMPUS_*,MARA_*→ARGUS_*; loaderagent_ops_load_config→olympus_load_configgit mvkeeps history):run_wiwi.sh→run_hephaestus.sh,mara.sh/.service/.timer→argus.*,test_mara.py→test_argus.py; default identities → themis/hephaestusFolded-in identity fixes (improvement-plan 0.2-3, pure string→config var)
post_review.pyfooter readsOLYMPUS_REVIEW_BOT_LOGINvia a testedbuild_footer()helper — no hardcoded namerun_hephaestus.shprompt + PR body use$OLYMPUS_DEV_AGENT_NAME/$OLYMPUS_REVIEW_BOT_LOGINMigration support
scripts/lint/check-legacy-naming.sh— flags pre-rename naming; runs in a consumer's repo as an upgrade pre-flight AND in this repo's CI as a regression guard (wired intoci.yml)docs/migration.md— impact-by-pin-strategy: a wrapper pinned to a pre-rename tag keeps working (frozen tag + GitHubuses:redirect); a moving ref drifts to defaults; upgrading to an Olympus tag needs the mappingVerification
bash -nclean.olympus.jsonbuild_cmdruns green; every workflow-referenced path exists\b, which initially gave a false-clean — see the linter commit)Deliberately deferred
triage.yml's hardcodedagent:assessto a workflow inputassess_label(changes the reusable-workflow input contract — kept separate from the pure rename)Operational follow-up (outside this PR, can't be done in-repo)
Netis/agent-ops→Netis/olympus(settings) — GitHub then redirects olduses:pathsreview_bot_login: vivi→themis) and updateAUTO_MERGE_TEAM/ allowlists🤖 Generated with Claude Code