Repository navigation
📝 [docs] run: Antigravity runs, --agy, quota guard, hosts page - #84
Draft
danielegaleazzi92 wants to merge 10 commits into
Draft
danielegaleazzi92 wants to merge 10 commits into
danielegaleazzi92 wants to merge 10 commits into
Conversation
…g host - super-board-host.sh answers agy on ANTIGRAVITY_AGENT=1 (observed on agy 1.4.6), after the Codex ids and OPENCODE, before CLAUDECODE; SUPER_BOARD_HOST and config host take agy - setup check accepts host agy; schema, onboard and run-workflow name it (no lane backend yet: the run halts like opencode) - docs/hosts.md: agy row, detection step and env evidence; tests for the sign, the override, the config key and the empty/id-only cases Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…vity (--hosts agy) - hooks/agy-hook-adapter.py translates Antigravity PreToolUse payloads, runs the unchanged guard-*.py and answers deny/ask/allow; hooks/agy-hooks.json wires it - install.sh --hosts agy: entry merged into .agents/hooks.json (other entries kept, --protect-push with --protect-main and kept on re-install, python on Windows), host detected from config/host.sh/an existing entry, no link folder, adapter not counted as a guard - scripts/super-board-agy-permissions.py writes the lane profile (command/read_file/write_file * + deny rules for dangerous forms and secret paths) or --from-allowlist regex rules; dry run, --apply with backup - tests: test-agy-hook-adapter.sh, test-agy-permissions.sh, test-install.sh scenario 25; CLAUDE.md install contract Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- the agy install line names it, the SCRIPTS list did not carry it Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
10 tasks
danielegaleazzi92
force-pushed
the
feat/agy-orchestrator
branch
from
October 23, 2026 20:28
cf19a12 to
d0d0a05
Compare
…ithout one - agy 1.4.6 rewrites its settings.json with a UTF-8 BOM and then loads permissions=<nil>: every lane tool call denied until the file is rewritten; --apply now strips it (test 7) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…run --agy) - scripts/super-board-agy-lane.sh: brief file + `agy -p --output-format json --json-schema`, model from --agy=/agy.model/agy.ladder, effort from agy.effort or the tier x grade ladder (review high; none when the slug names one), agy.timeout; result = structured_output validated like the Codex lane; raw run kept under inflight/ on failure; quota exhaustion halts (79); denied_actions named in detail - scripts/super-board-codex-wave.sh takes --codex|--agy and picks the launcher and router (agy.router_model at effort low); process groups and bash resolution work on Windows; super-board-agy-wave.sh is the entry point - super-board-skills-ready.py knows host agy (.agents/skills up to the repo root, .claude/skills, ~/.agents/skills) - config-schema: agy block and usage_fallback agy; tests: fake_agy fixture, test-agy-lane.sh, test_agy_lane_schema.py Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… not stdin - a PowerShell here-string was the one form the lane kept using for it and the permission check kept refusing; the brief now names .claude/super-board/inflight/agy-<n>-<lane>.card.json, removed with the brief Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…s checklist - run-workflow.md: "Antigravity runs" twin of "Codex runs", plain run inside Antigravity is --agy, agy no longer halts at the host check, preconditions/scan/skills-ready/launch/fallback/resume/stop/allowlist know the host - SKILL.md: --agy[=<model>] in the run verb and routing; onboard: host detect line and the step-8 permissions/status-line extras; setup --host agy - super-board-usage.sh: record reads the agy status line (quota buckets), check --host agy weighs every bucket; tests 11-13 - docs/hosts.md: agy is a supported host, with a first-run checklist Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- agy 1.4.6 reports gemini-5h, gemini-weekly, gemini-argon-wtu-weekly, 3p-5h, 3p-weekly: quota is per model family, so a flash run must not pause on an exhausted Argon bucket - check --host agy takes --model, else agy.model from --config; no model known weighs every bucket; test 14 uses the five real buckets Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…nied on its first command Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
danielegaleazzi92
force-pushed
the
feat/agy-orchestrator
branch
3 times, most recently
from
October 23, 2026 20:56
511da96 to
6a83e2d
Compare
- agy runs statusLine.command through cmd /c, where a bare bash is WSL's and cannot open C:/ paths (observed: exit 127 on first interactive start) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
danielegaleazzi92
force-pushed
the
feat/agy-orchestrator
branch
from
October 23, 2026 20:56
6a83e2d to
1307dcb
Compare
This branch has not been deployed
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.
Note
⏳ Draft · slice 4 of #80 (Antigravity host), the last · stacked on #83 → #82 → #81: merge in order, the diff shows the earlier slices until then
Problem
skills/super-board/references/run-workflow.md,skills/super-board/SKILL.md,scripts/super-board-usage.sh,docs/hosts.md, onboard--agyflag in the skill, no "Antigravity runs" section, a usage guard that only knows Claude's status line, a hosts page that says "not supported yet"/super-board runin Antigravity, orrun --agyfrom ClaudeSolution
run-workflow.md: an "Antigravity runs" section as the twin of "Codex runs" (wave command, lane, router, ladder, no sub-agents, permissions, guards, quota, fallback, precondition, Windows shell); "inside Antigravity, plainrunis--agy";agyno longer halts at the host check; preconditions, the legacy-run scan, the skills-ready host list, the Launch step, the usage guard, theusage_fallback: "agy"bullet, the resume line and the stop line know the host; the run allowlist lists the two lane scripts and the permissions helper (tests/test_run_allowlist.pykeeps them honest)SKILL.md:--agy [--low|--high]and--agy=<model>in the run verb, a routing row for--agyand for an Antigravity session, the cardinal rule namesagy -pworkersscripts/super-board-usage.sh:recordrecognises the agy status line (quota.<bucket>.{remaining_fraction, reset_time}), converts every bucket to{used_percentage, resets_at}and keeps it in its own snapshot (~/.gemini/super-board/usage.json);check --host agyweighs the buckets of the model the lanes use (--model, elseagy.model: agemini-*slug readsgemini-5h/gemini-weekly, aclaude-*/gpt-*slug the3p-*ones, a model-specific bucket only when the slug names it; no model known weighs every bucket) with the sameusage_pause_pct, exits and staleness rules;--host claudeis the unchanged defaultsuper-board-setup.py check/fix --host agyaccepted (the resolver already knows the host since ✨ [feat] lanes: headless Build, QA and Review on Antigravity (run --agy) #83); onboard's silent detect names the host and step 8 runs the permissions helper with consent and reminds about the status linedocs/hosts.md: theagyrow becomes a supported host, plus a "First run on Antigravity" checklist (install, permissions, a guard probe, an allowed command, skills, quota, one card) with what each failure meansAcceptance criteria
check --host agyreports the highest bucket, pauses atusage_pause_pct, readsunknownwithout a snapshot and refuses an unknown host↳ verified:
tests/test-usage.shscenarios 11–14 (14 green).claude/binscript the Antigravity path calls has a rule in the run allowlist↳ verified:
tests/test_run_allowlist.pydocs/hosts.md; the host script and setup acceptagy↳ verified:
tests/test-hosts-doc.sh(4 hosts),tests/test-host.sh,super-board-setup.py check --host agysuper-board-agy-wave.sh, reconcile, release, manifest, throttle) a card went Ready → Done on agy 1.4.6: ✨ [feat] cart: percentage discount applied to the total danielegaleazzi92/super-board-agy-playground#2 (✨ [feat] host: run the board on Google Antigravity (agy) #80 has the run's manifest)install.sh --hosts agy --protect-main), agy 1.4.6 /gemini-3.8-flashon Windows 11, 2026-10-23: card feat: dynamic-workflow worker backend (worker_backend: "workflow") #3 of the playground went Ready → Done, ✨ [feat] cart: clearCart empties the cart and drops its discount danielegaleazzi92/super-board-agy-playground#4 (squashcc1b8ef), Build 8.5 min, QA + Review 19 min, every lane returning a valid structured result. The one lane that failed in between was denied on its first command because agy had rewritten its own settings file with a UTF-8 BOM and loaded no permissions from it; the helper now strips it (✨ [feat] install: guard hooks and permissions for Antigravity (agy) #82). The quota guard read the real status-line buckets (gemini-5h,gemini-weekly,gemini-argon-wtu-weekly,3p-5h,3p-weekly) and, once made per model family, answeredokfor a Flash run while the Argon weekly bucket stood at 100%.Iteration history
Risk
🟢 Low · documentation for a new path plus one script that gains a second input shape.
super-board-usage.sh recordfor every Claude user (the Claude branch is untouched and tested first in the suite) · the Antigravity path for Antigravity usersPart of #80 (slice 4 of 4), stacked on #83. Windows note in the hosts page: agy runs
statusLine.commandthroughcmd /c, where a barebashis WSL's and exits 127 onC:/paths; name Git Bash by its space-free path. Note on tests: on Windows Git Bashtest_run_allowlist.pyandtest_writing_format.pyneedPYTHONUTF8=1onmaintoo (they read the references with the console code page); with it both pass here.🤖 Generated with Claude Code