Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
63dc93d
feat(agentlayout): step 76-89 -- SEGA preprocessing + text-as-image +…
nina16448 Jul 9, 2026
9884f3c
feat(agentlayout): track output2 drivers + capture run provenance
nina16448 Jul 9, 2026
bc5c652
docs(agentlayout): step 92 -- unified-protocol main table + B-arm COL…
nina16448 Jul 9, 2026
f8eccf9
docs(agentlayout): step 93-96 -- zero-API formalization of the per-ro…
nina16448 Jul 9, 2026
3b39cd5
feat(provider): register o4-mini for token accounting
nina16448 Jul 9, 2026
fd81922
docs(agentlayout): R1 reproducibility freeze -- RUN_METADATA for the …
nina16448 Jul 9, 2026
1ec0d05
feat(agentlayout): add A3 manifest infrastructure
nina16448 Jul 10, 2026
cd61fc8
feat(agentlayout): add A3 P-Full input protocol
nina16448 Jul 10, 2026
59f9dcb
feat(agentlayout): add A3 R3 bitmap protocol
nina16448 Jul 10, 2026
d6f2f84
feat(agentlayout): add A3 multimodal analyst inputs
nina16448 Jul 10, 2026
25ed371
feat(agentlayout): add A3 versioned layout tree
nina16448 Jul 10, 2026
8fa67aa
feat(agentlayout): split A3 selection and critique
nina16448 Jul 10, 2026
24ffb8b
feat(agentlayout): add A3 gated single revision
nina16448 Jul 10, 2026
39a4e86
feat(agentlayout): add A3 director mapper and issue verifier
nina16448 Jul 10, 2026
ff41bf3
feat(agentlayout): bind A3 stages and gate paid runs
nina16448 Jul 10, 2026
fe4cef5
fix(agentlayout): harden A3 contracts from N=5 smoke
nina16448 Jul 10, 2026
f6f9980
feat(agentlayout): add A3 gate C reusable R0 tail
nina16448 Jul 10, 2026
5f00a46
docs(agentlayout): record A3 gate C verdict L0
nina16448 Jul 10, 2026
fbe41f4
feat(agentlayout): add A3 text bitmap sidecar
nina16448 Jul 10, 2026
b155af5
feat(agentlayout): add A3 human annotation contract
nina16448 Jul 10, 2026
c453746
feat(agentlayout): add A3 gate A arm and annotation packets
nina16448 Jul 11, 2026
c8f69b2
docs(agentlayout): refresh codex handoff for A3-09
nina16448 Jul 11, 2026
6493e3e
docs(agentlayout): reference SGC/TLC/PCA metric spec
nina16448 Jul 11, 2026
91793a3
docs(agentlayout): minor fixes to codex handoff
nina16448 Jul 11, 2026
1b40fa5
feat(agentlayout): add A3 human tree metrics
nina16448 Jul 11, 2026
5e63d82
feat(agentlayout): add A3 adjudication workflow
nina16448 Jul 11, 2026
3e6fe89
docs(agentlayout): log A3-09O human adjudication finalization
nina16448 Jul 11, 2026
f32bcbb
docs(agentlayout): log A3-09AB Gate A/B execution and metrics
nina16448 Jul 11, 2026
06957eb
feat(agentlayout): freeze relation-100 remaining 80 annotation sample…
nina16448 Jul 11, 2026
19efa6b
docs(agentlayout): log A3-10P relation-100 adjudication finalization
nina16448 Jul 11, 2026
4db6848
feat(agentlayout): run relation-100 T0/T2/T3 and log A3-10R results
nina16448 Jul 11, 2026
0a9b76b
docs(agentlayout): log A3-10R six-axis geometry metrics
nina16448 Jul 11, 2026
cfb568a
docs(agentlayout): log A3-10R failure analysis and execution decisions
nina16448 Jul 11, 2026
7bc9284
feat(agentlayout): add reproducible A3 SEGA metrics evaluator
nina16448 Jul 11, 2026
e67bfb1
docs: add persistent execution and handoff protocol
nina16448 Jul 11, 2026
167d0e9
docs(agentlayout): publish verified formal A3 SEGA N=100 evaluation
nina16448 Jul 11, 2026
1a34e84
docs(agentlayout): record paid COLE judge proposal awaiting authoriza…
nina16448 Jul 11, 2026
6b4197f
feat(agentlayout): run authorized matched COLE judge on A3 relation N…
nina16448 Jul 11, 2026
d4ace98
feat(agentlayout): freeze General N100 preflight
nina16448 Jul 11, 2026
c28abd8
docs(agentlayout): record General N100 paid authorization
nina16448 Jul 11, 2026
c634031
docs(agentlayout): record General N100 final generation
nina16448 Jul 12, 2026
76ee987
feat(agentlayout): publish General N100 evaluations
nina16448 Jul 12, 2026
13105da
docs(agentlayout): record General N100 handoff
nina16448 Jul 12, 2026
3fc6be1
fix(agentlayout): harden General COLE paid runner
nina16448 Jul 12, 2026
759ea05
docs(agentlayout): record COLE hardening handoff
nina16448 Jul 12, 2026
f9b37d3
docs(agentlayout): finalize COLE hardening sync
nina16448 Jul 12, 2026
a89d13d
docs(agentlayout): record full Crello preflight
nina16448 Jul 12, 2026
cf2b388
docs(agentlayout): plan full Crello batch evaluation
nina16448 Jul 12, 2026
9f845cb
docs(agentlayout): record Crello planning handoff
nina16448 Jul 12, 2026
b133844
docs(agentlayout): record Crello plan sync
nina16448 Jul 12, 2026
de5fc0c
feat(layout-agent): prepare full Crello batching
nina16448 Jul 12, 2026
f8ef25a
docs(layout-agent): checkpoint Crello handoff
nina16448 Jul 12, 2026
8b81098
docs(layout-agent): freeze batch 001 budget proposal
nina16448 Jul 12, 2026
193aef1
docs: make handoff persistence final-only
nina16448 Jul 12, 2026
113d5e9
docs: record A3 thesis evidence audit
nina16448 Jul 12, 2026
7f8e134
feat(layout-agent): guard and pause batch 001 generation
nina16448 Jul 12, 2026
81909ed
feat(layout-agent): Relation N=100 tree accuracy + SGC/TLC/PCA statis…
nina16448 Jul 12, 2026
ea36257
docs(layout-agent): record batch 001 continuation boundary
nina16448 Jul 12, 2026
8abdc38
docs(layout-agent): condense next_step.md handoff to load-bearing state
nina16448 Jul 12, 2026
b72e62d
docs(layout-agent): strip per-session verification rituals from hando…
nina16448 Jul 12, 2026
d07a995
docs(layout-agent): plan Elem2Design external baseline
nina16448 Jul 12, 2026
b7a4e1a
docs(layout-agent): freeze AI annotation replacement protocol proposa…
nina16448 Jul 12, 2026
34a93c5
docs(layout-agent): correct annotation provenance — all reference tre…
nina16448 Jul 12, 2026
93876e6
feat(layout-agent): adjudication vote analysis — oracle is effectivel…
nina16448 Jul 12, 2026
e25e7df
feat(layout-agent): Elem2Design external baseline harness (Relation N…
nina16448 Jul 12, 2026
36f8167
feat(layout-agent): Elem2Design external baseline results, Relation N…
nina16448 Jul 12, 2026
2fd74ee
feat(layout-agent): selection-asymmetry sensitivity for E2D baseline …
nina16448 Jul 12, 2026
6b18ab5
feat(layout-agent): resume batch 001 to completion + six-axis eval
nina16448 Jul 12, 2026
db8a54d
feat(layout-agent): close deferred Rea/Occ axes for E2D baseline (A3-…
nina16448 Jul 12, 2026
e083ff3
docs(layout-agent): consolidated Elem2Design baseline results (A3-13E)
nina16448 Jul 12, 2026
6a68598
docs(layout-agent): consolidate all A3 agent prompts into AGENT_PROMP…
nina16448 Jul 15, 2026
2c0e63b
docs(layout-agent): English Quality Checker rule reference (all 22 vi…
nina16448 Jul 16, 2026
aea7ca3
docs(layout-agent): A3 pipeline walkthrough for paper (step 98, sampl…
nina16448 Jul 23, 2026
e1f1861
docs(layout-agent): step 98 A3 walkthrough document + stage images (f…
nina16448 Jul 23, 2026
b60ae0a
docs(layout-agent): step 98b second A3 walkthrough — real photographi…
nina16448 Jul 23, 2026
65556ab
docs: rewrite root README from MetaGPT to AgentLayout project overview
nina16448 Jul 24, 2026
60b8937
chore: remove stale planning files and superseded experiment docs
nina16448 Jul 24, 2026
ab61915
docs: update next_step.md after repo cleanup (CODEX_HANDOFF retired)
nina16448 Jul 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,18 @@ metagpt/roles/idea_agent.py

# output folder
output
# Step 76+ results live in output2 (user request: keep new runs separate from
# the crowded output/); the bare `output` rule above does not match it.
# Ignore the RESULTS but track the drivers -- otherwise the code that produced
# a paper number is unreviewable. Use `output2/*` (not `output2/`) so the
# negation works: git will not descend into an ignored directory.
layout_agent/output2/*
!layout_agent/output2/*.py
# RUN_METADATA.json is the reproducibility freeze record for a run: which
# commit, which model, which sample ids. Tiny, and worthless if not tracked.
!layout_agent/output2/*/
layout_agent/output2/*/*
!layout_agent/output2/*/RUN_METADATA.json
tmp.png
.dependencies.json
tests/metagpt/utils/file_repo_git
Expand Down
120 changes: 120 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
<INSTRUCTIONS>
# User-visible execution protocol

These rules are persistent project instructions and apply to every future session.

## Explain before acting

- Before starting tools or a long-running command, tell the user in plain language:
what is being run, why it is needed, whether it uses paid APIs, the expected
duration, and the exact condition that will stop or unblock the next step.
- Keep the user oriented. Every status update must say what is happening now and
what will happen next; do not expose only internal agent/reviewer mechanics.
- For a command expected to take more than two minutes, provide one start
checkpoint and then report only meaningful milestones, completion, failure, or
when the user asks. Do not spend Codex usage on repetitive heartbeat polling.

## Conserve Codex usage

- Use the minimum number of agents and review rounds needed for the risk. Do not
launch repeated implementation/review loops after the acceptance criteria pass.
- Prefer one implementation pass plus one focused verification pass. Add another
reviewer only for a concrete unresolved risk, not as a routine ritual.
- If the user asks to reduce usage, immediately stop nonessential agents, polling,
and commentary. Never interrupt a useful local process merely to inspect it.

## Final-only handoff and Git persistence

- Do not update `layout_agent/next_step.md` after individual commands, checks,
milestones, or intermediate discoveries. Keep intermediate state in the active
session instead of creating repeated handoff churn.
- Update `layout_agent/next_step.md` exactly once, immediately before handing
control back after execution completes, genuinely blocks, or reaches a paid
authorization boundary. That consolidated update must include the timestamp,
material commands and results, artifacts, paid/API cost, remaining work, and
safest resume command.
- After the consolidated handoff, run one proportionate final verification pass,
create one scoped commit containing only the task files and final handoff, and
push once. Do not create a second handoff-only commit merely to record the first
commit hash or push receipt; report those in the final response instead.
- Read-only answers that do not materially advance execution require no handoff,
commit, or push.
- Never include unrelated pre-existing dirty files. Never stash, reset, clean, or
overwrite user work to make a commit possible.
- Always report the branch, commit hash, push result, checks run, and any files
intentionally left uncommitted. If commit or push is blocked, state the exact
blocker instead of silently leaving changes local.

## Cost and completion guardrails

- Never run a paid API, LLM judge, or paid generation step without first stating
the exact call/token budget and receiving explicit paid-run authorization.
- A completion report must clearly list: what changed, what ran, the result and
artifact, remaining work, `next_step.md` status, and commit/push status.
</INSTRUCTIONS>

<claude-mem-context>
# Memory Context

# [MetaGPT] recent context, 2026-07-12 3:14am GMT+8

Legend: 🎯session 🔴bugfix 🟣feature 🔄refactor ✅change 🔵discovery ⚖️decision
Format: ID TIME TYPE TITLE
Fetch details: get_observations([IDs]) | Search: mem-search skill

Stats: 50 obs (20,187t read) | 1,752,582t work | 99% savings

### Jul 12, 2026
4988 2:26a 🟣 evaluate_a3_sega.py — Atomic RENAME_NOREPLACE Publication and Full Bundle Validation Before Write
4989 " 🟣 validate_evaluation_bundle() — Full v1 Sidecar Contract Enforcement in a3_sega_evaluator.py
4990 " 🟣 Matched Sample ID Enforcement and Code/Detector Rehash in evaluate_a3_sega.py
4996 2:28a 🔵 phase1_hardening Callback Pattern — Third Brief Signal at 18:26:25, Then Silent Again
4997 2:30a 🔴 Orchestrator Pre-Stages Re-Verification Round While phase1_hardening Still Running
4998 2:31a 🔄 saliency_basnet_isnet.py — Full Hardening: Snapshot Resolution, Identity Recording, Output Validation, Strict ISNet Identity
4999 " 🟣 evaluate_a3_sega.py — Pre-Publish Lineage Check Callback Added to _write_results
5000 " 🟣 test_sega_metrics.py Expanded — PKU Quirk Tests and Overlay Denominator Tests Added
5001 " ✅ Phase 1 Hardening Final State — 64 Tests Passing, All Checks Clean, Smoke-2 Confirmed at 02:28 CST
5002 2:32a 🔵 phase1_hardening Entered Another Silent Period — Completion Estimate Was Premature
5003 2:33a 🔵 new_plam.md A3 Task Audit — Phase 3 Remaining Items After Phase 1+2 Completion
5004 2:34a 🔵 Pipeline Enters Final Re-Verification Phase — Three Rapid Consecutive Completions at 18:33–18:34
5005 2:36a 🟣 A3 SEGA Evaluator Phase 1 Hardening — Major Expansion to 1,157 Lines
5006 " 🟣 A3 SEGA Test Suite Expanded — 64 Tests Passing (Up from 42)
5007 " 🔵 BASNet + ISNet Detector Artifact Verification — Hashes and Session Identity Confirmed
5008 " ✅ next_step.md Updated — Formal N=100 Run Blocked Pending Independent Review
5009 2:37a 🔵 Orchestrator Retrying Identical followup_task to phase1_hardening — Subtask Not Yet Acknowledged
5010 " 🔵 new_plam.md A3 Task Audit — Phase 3 Remaining Items After Phase 1+2 Completion
5011 2:39a 🔵 phase1_hardening Sixth Callback at 18:38:28 — Still Active at 23-Minute Mark
5012 2:40a 🔵 phase1_hardening Silent Period Continues Past 25-Minute Total Runtime
5014 2:43a 🔵 phase1_hardening Seventh Callback at 18:41:55 — Orchestrator on ~100s Retry Loop
5015 " 🔵 A3 SEGA Phase 1 Pipeline Wall-Clock Cost Profile — 28+ Minutes for Hardening Alone
5016 2:44a 🔵 phase1_hardening Past 29-Minute Mark — Longest Agent Execution in A3 SEGA Pipeline
5018 2:46a 🔵 phase1_hardening Eighth Callback at 18:45:22 — Orchestrator Cycling Through Multiple Nudge Messages
5019 2:48a 🔵 Orchestrator Sent Fourth Distinct Escalation Payload to phase1_hardening at 18:48:33
5020 2:52a 🔵 phase1_hardening Ninth Callback at 18:48:47 — 33+ Minutes Runtime, Still No Completion
5021 2:54a 🔵 Orchestrator Shortened Timeout Windows to 30s and Sent Fifth Escalation Payload at 38-Minute Mark
5023 " 🔵 phase1_hardening Silent for 6+ Minutes — Longest Quiet Period in Session
5024 2:55a 🔵 phase1_antipattern Final Report — No Blockers, 3 Non-Blocking Edge Cases, renameat2 and ISNet Fixes Confirmed
5025 " 🔵 phase1_final_quality Report — 4 P1 Blockers Prevent Phase 2 Unlock; 64/64 Tests Pass
5030 " 🔵 phase1_hardening Force-Interrupted After 40 Minutes — Orchestrator Issued interrupt_agent
5031 2:58a 🔵 Post-Interrupt Pivot — Orchestrator Re-Engaged All Three Audit Agents with New P1 Blocker Tasks
5032 " 🔵 new_plam.md A3 Task Audit — Phase 3 Has Three Remaining Items; Phase1_final_quality Reports 4 P1 Blockers
5033 3:00a 🔵 Post-Interrupt Re-Verification Phase Active — Split Wait Results Confirm Multiple Agents Running
5034 " 🔵 Phase 1 Final Gate Verification — 84 Tests Pass, Real Runtime Contract Valid, ISNet Artifact Hashes Confirmed On-Disk
5035 " 🔵 Post-Interrupt Audit Round In Progress — Awaiting list_agents for P1 Blocker Resolution Results
5036 " 🔵 Frozen Detector Artifact Hashes Confirmed — ISNet 178MB ONNX + BASNet Revision Pinned and Schema-Valid
5037 3:02a ⚖️ Phase 1 Declared Complete — Full 5-Phase A3 SEGA Evaluation Roadmap Established
5038 " 🟣 phase1_commit and phase1_sync Agents Spawned — Phase 1 Work Being Persisted to Git
5039 3:04a 🟣 Phase 2 Formal Evaluation Started — phase2_run Agent Spawned for T0/T2/T3 Zero-LLM Six-Axis Run
5040 " 🔵 new_plam.md A3 Task Audit — Phase 3 Has Three Remaining Items
5041 3:06a 🔵 phase2_run Agent Active and Responding — Formal Evaluation Execution Confirmed Started
5043 3:07a 🟣 A3 SEGA Phase 2 Real-Detector Smoke — Passed with Metric Values
5044 " 🟣 Formal A3 SEGA Relation N=100 Evaluation Launched — evaluation-id a3-relation-n100-t0-t2-t3-sega-v1
5045 " 🔵 BASNet Safetensors Load — Non-Meta Parameter Warnings Are Cosmetic Only
5042 " 🔵 phase2_run In Silent Execution — Formal Evaluation Processing T0/T2/T3 Samples
5046 3:09a 🔵 phase2_run Callback Cadence Established — ~2-Minute Inter-Callback Intervals During Evaluation
5047 3:10a 🔵 Formal A3 SEGA N=100 Evaluation — Runtime Resource Profile and Write-at-End Architecture Confirmed
5048 3:11a 🔵 New wait_agent Outcome Observed — "Wait interrupted by new input" Indicates Concurrent Agent Activity
5049 3:12a 🔵 A3 SEGA Evaluator Process Profile — 56 Threads, Per-Sample File Open/Close, Stable Memory Growth

Access 1753k tokens of past work via get_observations([IDs]) or mem-search skill.
</claude-mem-context>
Loading
Loading