Compare commits

...
9 changed files with 2934 additions and 10 deletions
+10 -10
View File
@@ -35,26 +35,26 @@ Use Gitea for live coordination and the relevant code version for implementation
## Coordination and integration
All independent agents coordinating through Gitea run on completely separate machines, each with its own clone, filesystem, tools, processes, and runtime. Gitea and pushed Git history are the shared communication and delivery channels. Local files (including `harness`), unpushed commits, worktrees, test results, and localhost services are not accessible to peers. Matching branch names or paths do not imply synchronized contents.
1. On starting or resuming, including after compaction, inspect the working branch, local changes, applicable instructions, relevant shared records, and existing implementation. Recover context from authoritative records. Check for newer shared instructions on the actual remote default branch without overwriting local work. Read what is relevant; avoid repeated full-history scans and constant polling.
2. Search before creating tasks. Claim a meaningful outcome in its Gitea issue with a stable session identity, scope, branch/worktree, and acceptance criteria. Keep small steps within that task. Recheck after claiming; comments are not atomic locks. Respect existing ownership and resolve overlapping claims before overlapping work.
3. Independent sessions are peers. Each owns its contribution and delegated work. Record one integration/release owner when a milestone needs shared coordination. Use separate worktrees or checkouts, partition files/interfaces, and coordinate changes to shared specifications and documents.
4. At meaningful checkpoints or handoffs, record changed results, commit/PR links, verification commands and environment, blockers, and next actions. Identify the tested code version and uncommitted or unpublished work; make required artifacts accessible to other sessions. Do not assume another agent is running or has read a message; silence alone does not establish abandonment. Record evidence and preserve existing work when reassigning a task.
5. Follow project review and merge conventions. Inspect upstream changes, resolve conflicts while preserving others' edits, and verify the combined result. Do not overwrite others' work or force-push shared history to resolve coordination problems.
2. Search before creating tasks. Claim a meaningful outcome in its Gitea issue with a stable session identity, scope, remote repository/branch, and acceptance criteria. Keep small steps within that task. Recheck after claiming; comments are not atomic locks. Respect existing ownership and resolve overlapping claims before overlapping work.
3. Independent sessions are peers. Each owns its contribution and delegated work on its own machine. Record one integration/release owner when a milestone needs shared coordination. Use distinct remote work branches, partition files/interfaces, and coordinate changes to shared specifications and documents. Worktrees provide local isolation only; they do not share work between machines.
4. At meaningful checkpoints or handoffs, record changed results, commit/PR links, verification commands and environment, blockers, and next actions. Identify the tested code version and label uncommitted or unpublished work as local-only. Before asking peers to consume results, push the required code and versioned documentation, including relevant `harness` updates; publish other required artifacts in Gitea and link them. Use repository-relative paths with commit references, reproducible commands, and necessary environment details; local paths and localhost URLs alone are not handoffs. Do not assume another agent is running or has read a message; silence alone does not establish abandonment. Record evidence and preserve existing work when reassigning a task.
5. Follow project review and merge conventions. Fetch the relevant remote branches and inspect the identified commits before reviewing or integrating another machine's work. Resolve conflicts while preserving others' edits, and verify the combined result locally; report material environment differences. Local instruction-file edits reach peers only after publication and retrieval. Do not overwrite others' work or force-push shared history to resolve coordination problems.
6. Close work when its acceptance criteria are met and the result is integrated or delivered as appropriate. Mark duplicates and superseded tasks explicitly with replacement links. Then choose further useful unowned work while the requested objective remains incomplete.
Use Gitea MCP for shared coordination. If unavailable, report the failure, buffer necessary handoff information locally, and continue already-owned or clearly non-overlapping work. Reconcile with current Gitea state when access returns; do not claim an ownership update, review, or publication succeeded without confirmation.
## Delegation and reasoning
Use GPT-6 Astra exclusively. Delegate bounded independent research, design, implementation, or review when it improves progress, judgment, or preserves the parent's context. Give subagents the relevant context, ownership boundaries, result format, and evidence requirements. Use fresh critics when practical. The parent owns synthesis and integration and normally consolidates results into Gitea. Choose concurrency according to useful independent work and available resources, including other sessions; there is no agent-count quota.
Use GPT-6 Astra exclusively. Gitea peers are independent remote sessions, not subagents controlled by this session. Spawned subagents use the execution environment actually provided by the agent tools; do not assume they share files, and publish their results before Gitea peers need them. Delegate bounded independent research, design, implementation, or review when it improves progress, judgment, or preserves the parent's context. Give subagents the relevant context, ownership boundaries, result format, and evidence requirements. Use fresh critics when practical. The parent owns synthesis and integration and normally consolidates results into Gitea. Choose concurrency according to useful independent work and available resources, including other sessions; there is no agent-count quota.
Optimize reasoning effort for verified outcomes per cost, including review, retries, and repair:
Main agent: default to high for planning, synthesis, integration, and acceptance decisions; medium for dispatching a settled plan and routine coordination.
Subagents: default to medium for bounded implementation and targeted research; low for straightforward retrieval, mechanical edits, and running established checks; high for complex debugging, correctness review, adversarial analysis, or ambiguous design.
Use extra-high selectively for difficult foundational semantic, methodological, formal, or cross-domain decisions. Reserve max for exceptional unresolved problems where additional reasoning is likely to justify its cost. Retain higher settings when evidence supports their value.
- Main agent: default to high for planning, synthesis, integration, and acceptance decisions; medium for dispatching a settled plan and routine coordination.
- Subagents: default to medium for bounded implementation and targeted research; low for straightforward retrieval, mechanical edits, and running established checks; high for complex debugging, correctness review, adversarial analysis, or ambiguous design.
- Use extra-high selectively for difficult foundational semantic, methodological, formal, or cross-domain decisions. Reserve max for exceptional unresolved problems where additional reasoning is likely to justify its cost. Retain higher settings when evidence supports their value.
Allocate by task difficulty and consequences, not role or length alone. Start higher when a clearly difficult decision has expensive downstream consequences. Escalate for concrete reasoning difficulties; resolve missing evidence or unclear requirements at their source. Set subagent effort explicitly through supported controls to avoid unintended inheritance. Do not claim an unapplied change or alter global configuration merely to enforce these preferences.
@@ -1,2 +1,8 @@
correction-tests.log -text
correction-tests-receipt.json -text
core-outline-misfiltered.log -text
core-outline-misfiltered-receipt.json -text
core-outline-interruption.json -text
core-outline-lib.log -text -whitespace
core-outline-lib-receipt.json -text whitespace=cr-at-eol
core-outline-inputs-after.json -text whitespace=cr-at-eol
@@ -0,0 +1,13 @@
# Core outline gate: corrected test selection
The original command `cargo test -p oa-core language_outline_tests --locked --offline` used the source filename as its filter. Source `crates/oa-core/src/language.rs:2184–2186` instead declares `#[path = "language_outline_tests.rs"] mod outline_tests`; the intended twelve tests are in `language::outline_tests`. The original filter would select none of those tests, while Cargo still builds unrelated integration targets.
Root interrupted only the verified owned Cargo process tree after discovering the selection error. The run began at 2026-09-12T22:29:21.4944572Z and closed at 2026-09-12T23:19:37.6119510Z with exitCode -1. This is an interrupted invalid gate, neither a passing result nor a product test failure. Its [raw output](core-outline-misfiltered.log), [terminal receipt](core-outline-misfiltered-receipt.json) and [interruption record](core-outline-interruption.json) are preserved with text conversion disabled.
The replacement is `cargo test -p oa-core --lib language::outline_tests:: --locked --offline`. Its runner requires the result to contain twelve passed tests, zero failures and zero ignored cases in addition to Cargo exit0, preventing empty test selection from being accepted. Corrected execution passed: **12 passed, 0 failed, 0 ignored**, Cargo exit 0. The [raw output](core-outline-lib.log) and [terminal receipt](core-outline-lib-receipt.json) identify the command and timestamps. The runner captured evidence base `4db1ef543ced916179194272bf0e65dce73cb107`; later evidence-only commit `2568c70455ba8f6099b0ed92dd8321d50841a984` was present at closure. Production source remains `46b4f3c0d0f04050ad6d705051ee0199138e47a2`.
The run started 2026-09-12T23:20:37.3391898Z and closed 2026-09-13T00:13:35.4441019Z. Cargo reported 52m07s compilation and 3.25s test execution. The heavily delayed host makes this unsuitable as comparative performance evidence. This focused library result does not cover all core tests, strict lint, the later rename union or native GUI acceptance. Raw trailing blank lines are preserved as output evidence.
All 562 captured inputs and their membership remained unchanged from the original pre-gate capture through this corrected core result. The [post-core input manifest](core-outline-inputs-after.json) matches the same path/byte/SHA-256 entries in the [published desktop manifest](correction-all-inputs.json); evidence-only report changes and the unwired draft were not compiler inputs.
The receipt and post-core manifest retain original CRLF bytes with `whitespace=cr-at-eol`; the raw log also retains its terminal blank line. These exact-path attributes avoid treating original evidence line endings as source-format defects.
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
{
"command": "cargo test -p oa-core --lib language::outline_tests:: --locked --offline",
"startUtc": "2026-09-12T23:20:37.3391898Z",
"endUtc": "2026-09-13T00:13:35.4441019Z",
"base": "4db1ef543ced916179194272bf0e65dce73cb107",
"cargoExitCode": 0,
"expectedTests": 12,
"expectedTestsPassed": true
}
@@ -0,0 +1,20 @@
Compiling oa-core v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\diagram-coverage-fixes-ytr83r-20260912\crates\oa-core)
Finished `test` profile [unoptimized] target(s) in 52m 07s
Running unittests src\lib.rs (C:\Users\User\Documents\Git\ARCADIA-Studio\target\debug\deps\oa_core-38898034cc715c78.exe)
running 12 tests
test language::outline_tests::closed_id_at_eof_is_inside_the_declaration_extent ... ok
test language::outline_tests::bounds_refuse_before_returning_a_partial_outline ... ok
test language::outline_tests::header_shape_still_requires_valid_hexadecimal_uuid_data ... ok
test language::outline_tests::invalid_full_scan_keeps_closed_children_and_reports_lexical_body_facts ... ok
test language::outline_tests::deeply_nested_bounds_use_the_same_iterative_walk_and_declaration_budget ... ok
test language::outline_tests::keyword_alias_and_collisions_keep_every_source_ordered_header ... ok
test language::outline_tests::missing_bad_and_historical_ids_never_allocate_authored_identity ... ok
test language::outline_tests::noncanonical_uuid_spellings_have_no_outline_or_analysis_identity ... ok
test language::outline_tests::missing_body_syntax_is_unchecked_even_when_known_error_flags_are_clear ... ok
test language::outline_tests::outline_roles_preserve_unicode_crlf_and_exact_escaped_uuid_literal ... ok
test language::outline_tests::outline_ranges_follow_current_bytes_without_identity_stabilization ... ok
test language::outline_tests::uppercase_and_json_escaped_header_ids_survive_both_parsers_and_outline ... ok
test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 42 filtered out; finished in 3.25s
@@ -0,0 +1,8 @@
{
"command": "cargo test -p oa-core language_outline_tests --locked --offline",
"startUtc": "2026-09-12T22:29:21.4944572Z",
"endUtc": "2026-09-12T23:19:37.6119510Z",
"base": "46b4f3c0d0f04050ad6d705051ee0199138e47a2",
"uncommittedChanges": true,
"exitCode": -1
}
@@ -0,0 +1 @@
Compiling oa-core v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\.local\diagram-coverage-fixes-ytr83r-20260912\crates\oa-core)