Commit Graph

20 Commits

Author SHA1 Message Date
AirCoding
7d3b2b4a4c fix(regression): repair 5 regressions from second round, close B10/B12/B15/B16
Round 2 regression fixes:
- B10 (INV-2 outbox, CRITICAL): wiring.ts — switch durable events
  from eventBus.publish (live-only) to eventIngestor.ingest (persistent)
  for debug.record.created and memory.promoted. Add required RuntimeEvent
  fields (id, source, route).
- B12 (Scheduler events, CRITICAL): Scheduler.ts — replace all 4
  eventBus.publish calls with eventIngestor.ingest + registered event
  types (task.started/task.failed/agent.lost/agent.cancelled).
  Remove unregistered task.status.changed references.
- B15 (duplicate ProjectionClient): remove orphan tui/src/ProjectionClient.ts
  (zero references, superseded by runtime/src/projection/ProjectionClient.ts
  re-exported via @aircoding/runtime barrel).
- RuntimeApp: wire Scheduler→WorkerManager in constructor; document
  start() bootstrap→recover→hydrate→ready sequence (DD §22.2).
- createRuntime: read project_id from .air/shared/project.json
  (DD §6.1 stable UUID), fallback to Date.now() only if not initialized.
- B16 (api_key strict): ProviderManager.get_or_create_adapter now calls
  ModelConfigLoader.validate() before passing raw api_key to adapter.

Also fix from R1 regression:
- ArchitectureDesigner: replace broken additive-heuristic risk scoring
  (single runtime file→replan, large refactor→confirmation only) with
  change-scope classification (contracts→confirmation, breaking→escalate,
  large→replan, safe→silent_continue). Remove dead evaluate_risk().
- MainAgent test: update confirmation test from old state name
  AWAITING_CONFIRMATION to canonical CONFIRMING (B13 state machine fix).

Test: 148/148 pass (regression + e2e + llm + toolchain-cpp).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 17:19:36 +08:00
AirCoding
20bad8ca29 fix(P0): close 15 blockers + add 26 regression tests; fix wiring schema regression
Phase A (security red lines) — CLOSED:
- B8: 3x command injection fixed (execFileSync + args array in CMake/CppBuilder/Cppcheck)
- B6: ToolRegistry permission bypass fixed (real task_scope/profile passed)
- B7: ACTION_BRANCHES this-binding crash fixed (instance method)
- B17: DeveloperLogEncryptor hardcoded 'dev-key' removed (throws if no key)
- B22: CommandRiskAnalyzer 'in' operator bug fixed (includes)
- B1: EventStore.project() transaction handle now passed to all repos
- B2: workspace projection illegal enum fixed (active/merged)
- B4: route_prefix separator unified to '/'
- B5: TaskAttempt column mapping fixed

Other blockers fixed:
- B3: project-level DB schema aligned to db-schema §20 (.air/local, learned_memories)
- B9: cpp.* tools registered through PermissionEngine path
- B11: Scheduler BLOCKED/CANCELLED states added
- B18: CapabilityTrustLevel 5-level enum aligned
- B19: PermissionEngine block/refuse/announce_then_run + grant_scope
- B20: Worker exit code 4 = parent_cancelled
- B24: project_id now randomUUID

Regression fix (introduced by B3 schema refactor):
- wiring.ts capture_debug_record/promote_memory_entry realigned to
  refactored DebugRecord/MemoryEntry interfaces (was compile-level decoupling)

Tests: 128 regression/unit tests pass (22 regression + 3 unit + 3 e2e suites)

Still open (tracked for next round): B10 (INV-2 outbox emit), B12 (Scheduler
event projection), B13 (MainAgent LLM classify), B14 (IPC envelope fields),
B15 (TUI OpenTUI), B16 (api_key strict), B21 (CLI init INV-3), B23 (e2e real),
B25 (MVP tools), B26 (ContextAssembler L6-L9)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 13:13:27 +08:00
AirCoding
79d776fdc9 docs(audit): add Qwen3.7 audit + multi-model cross-audit report
- Qwen3.7开发阶段审计.md: 4th independent audit (84 findings, 31 critical)
- 开发阶段多模型交叉审计报告.md: meta-audit combining DeepSeek/Opus/MiniMax-M3/Qwen3.7

Cross-audit consensus:
- Overall rating: C (skeleton B / execution-path D)
- Not releasable: all 4 models agree
- 15 high-confidence blockers (>=3 models confirm)
- INV compliance: PASS 2 / partial 3 / FAIL 6 (INV-1/2/3 all fail)
- Weighted spec consistency ~52%
- 4/4 unanimous blockers: command injection x3, project DB schema, MainAgent state machine, TUI no rendering

Unified remediation roadmap: Phase A (security red lines) -> B (link connectivity) -> C (spec alignment) -> D (completeness)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 11:17:54 +08:00
AirCoding
a773bac28c P0-P8: Full V1.0.0 Alpha implementation + audit reports
Implements 123 tasks across 9 phases (T-001..T-809) totaling 146 source files.

Monorepo (P0):
- 7-package Bun + Turborepo + TypeScript monorepo
- dependency-cruiser enforcing 7 forbidden edges + 5 deep-import rules

Contracts (P0):
- 16 type files (ids/error/event/runtime/ipc/task/worker-result/tool/artifact/evidence/project/provider/permission/ui/capability/platform)

Storage & Events (P1):
- DatabaseManager + MigrationRunner (19 tables, 22 indexes, 5 schema_meta seeds)
- 16 repositories (Repository<T,I,U> pattern, INV-1 status columns via EventStore.project only)
- EventSchemaRegistry (54 durable + 7 ephemeral), EventStore, EventBus, EventIngestor
- Project/Session/Artifact/Evidence stores + 8-step Recovery

Tools & Permission (P2):
- PathClassifier (8 categories), CommandRiskAnalyzer (10 categories), SecretRedactor
- PermissionEngine 6-layer evaluation (capability→profile→task_scope→risk→credential→user_prompt)
- ToolRegistry with 20+ tools across fs/shell/git/project/artifact/context/permission/doctor
- CapabilityManifestValidator + CapabilityRegistry

LLM & Context (P3):
- ModelConfigLoader, CapabilityMatrix, AnthropicCanonicalConverter
- AnthropicAdapter + OpenAICompatibleAdapter
- ProviderManager facade
- PromptLayerLoader (L0/L1/L3/L5), CompactionPolicy, ContextAssembler

Worker IPC & Scheduler (P4):
- WorkerProtocol (NDJSON), WorkerProcess (exit codes 0-5), WorkerManager (spawn/handshake)
- WorkerRuntime (INV-3: IPC only, no direct fs/shell/SQLite)
- 5 worker roles (Executor/Reviewer/Debugger/Compactor/ExperienceMiner)
- TaskGraph, WavePlanner, RetryPlanner, AgentMonitor, WorkspaceManager
- Scheduler (state machine), 8-step Recovery

C++ Toolchain (P5):
- DiagnosticParser, CppProjectDetector, CMakeConfigurator, CppBuilder
- CppTestRunner, CppcheckRunner, ClangdClient
- CppToolRegistrar + capability manifest

Projection & TUI (P6):
- ProjectionStore (hydrate/apply/snapshot/subscribe)
- TuiApp + 8 components (Session/Task/Agent/Tool/Diff/Evidence/Permission/Blocker/Hud)
- ProjectionClient in-process ref

Agents & Knowledge (P7):
- MainAgent, ArchitectureDesigner
- DebugKnowledgeStore + LearnedMemoryStore (single-writer, outbox model)
- Role integration wiring

CLI & Doctor & Release (P8):
- Logger + DeveloperLogEncryptor (AES-256-GCM)
- DoctorService (self_bootstrap first)
- RuntimeApp + ServiceRegistry
- 11 CLI commands: run/init/doctor/provider/resume/compact/history/session/restore/e2e/release
- CliEntrypoint + air<TODO>

Audit (in AirPlan/docs/):
- Deepseek开发阶段审计.md (97 findings)
- Opus开发阶段审计.md (140+ findings, 18 P0 blockers)
- MiniMaxM3开发阶段审计.md (18 P0 blockers, focuses on executability)
- AirPlan/TODO.md (technical debt + 42 TODOs by phase)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 19:19:55 +08:00
AirCoding
071283df8f Add implementation plan & task breakdown for V1.0.0 Alpha
70+ granular tasks (T-001..T-809) across 9 phases, derived strictly from
frozen detailed design. Each task is self-contained for context-isolated
executor agents: file list, contract refs, applicable INV-1..5, dependencies,
DoD/verify. Includes invariant injection (§A1), import graph (§A2), reference
reuse map (§A3), validation gates (§A4), phase dependency summary (§A5).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-02 10:06:58 +08:00
AirCoding
33a76a1ebc Move project from external drive to local NVMe
迁移路径: /run/media/airlongdian/EasyU/AirCoding -> /home/airlongdian/DataDevices/AirWorkSpace/AirCoding

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-02 09:51:49 +08:00
AirCoding
8b531732fe Stop tracking reference/; add .gitignore for third-party source
The reference/ tree (OpenCode, Codex, Hermes, Claude Code 2.1.88, etc., ~0.5GB)
was partially tracked (287 files) from an earlier accidental add. Per the
"reference is working-copy only" decision (DD §23), this removes all reference/
files from the index (disk copies retained) and adds a root .gitignore rule so
future commits never pull third-party / leaked source into the repo.

No documentation or source-of-truth content changed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 18:11:30 +08:00
AirCoding
0b15670a0c Detailed design §23: pin reference paths to verified checkout names
Q2 calibration: replaced <version>/<v> placeholders with the actual pinned
directory names now present under <repo-root>/reference/ (repo root is
AirCoding/, parent of AirPlan/ — clarified so subagents resolve paths
correctly). Added a verified directory listing block and fixed a misplaced
"behavioral" reuse-mode bullet that had drifted below the location note.

All eight cited reference paths verified non-empty on disk.

Documentation only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 18:04:05 +08:00
AirCoding
e9305a45a7 Detailed design §23: correct reference checkout paths
The reference map cited bare/relative paths that did not match reality:
reference checkouts live at <repo-root>/reference/<name>-<version>/ where
repo-root is the git root (AirCoding/, parent of AirPlan/), and the tree is
working-copy only (not committed).

- Added a "Reference source location" note defining the path convention and
  requiring implementers to verify a checkout exists/non-empty before relying
  on it (clone upstream if absent).
- Versioned the Hermes / asciinema / atuin / claude-hud paths.

Documentation only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 15:47:02 +08:00
AirCoding
0cbf7141c0 Detailed design: add §23 Reference Implementation Map
Closes the traceability gap where baselineV1 §2 / decisions-round-1..3
mandate reusing mature reference-project code, but the detailed design and
class diagrams had消化d those references into own abstractions with zero
explicit "consult X here" pointers — risking context-isolated implementers
re-deriving renderers, diff engines, or skill formats from scratch.

New §23 maps each DD component to its reference project, with an explicit
reuse mode (npm-dep / fork/adapt / pattern / behavioral) and local path:
- TUI → @opentui/* (npm-dep) + OpenCode patterns (pattern)
- Provider → @opencode-ai/llm (fork/adapt)
- Execution discipline → Claude Code (behavioral)
- patch/test loop → OpenAI Codex (pattern, reference/openai-codex/)
- Knowledge/ExperienceMiner → Hermes (pattern)
- Skills → Anthropic Claude Skills (pattern, reference/anthropic-skills/)
- Logging/HUD/PTY → asciinema/Atuin/claude-hud (pattern)
- Message format → Claude Code blocks (behavioral)

Reuse rules preserve §2 import direction and §18.6 invariants; reference
internal models never leak across our boundaries (e.g. no OpenCode session
state). Freeze declaration renumbered §23 → §24. Pure documentation; zero
change to contracts, events, schema, or runtime semantics.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 15:27:47 +08:00
AirCoding
b7091dbd1e Detailed design: add §18.6 domain write-ownership invariants
Adds a consolidated invariant layer (INV-1..INV-5) so that context-isolated
implementers (e.g. parallel isolated subagents holding only one subsystem
slice) cannot violate global rules they cannot see in their slice.

- INV-1: session-DB state columns written only by event projection, with an
  authoritative table→event map and explicit heartbeat/ui_state exemptions.
  This is the rule the O2 finding violated; centralizing it prevents recurrence.
- INV-2: cross-DB writes use outbox + single writer.
- INV-3: side effects only through ToolRegistry → PermissionEngine.
- INV-4: one-way import/dependency direction.
- INV-5: EventBus is transport, never a source of truth.

Each affected subsystem chapter (§5/§7/§8/§9/§11) now opens with an
"Applicable invariants (§18.6)" pointer so the constraint travels with the
slice. Pure documentation consolidation of already-frozen rules; zero change
to contracts, events, schema, or runtime semantics.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 15:23:05 +08:00
AirCoding
abc244f0da Detailed design: fix two semantic findings from Opus deep re-audit
An Opus-perspective semantic re-audit (reading state-machine semantics,
event-sourcing invariants, and baseline together rather than grep-style
structural checks) surfaced two issues the prior seven rounds missed.

O2 [P1] §5.4 + §20.4: removed the event-less `starting → running` status
  transition. The prior R1-02 fix eliminated the same-event atomicity error
  but left a second status-machine arc that (a) has no basis in baseline
  (event-registry §3 says agent.started inserts status = running OR starting,
  with no second transition) and (b) had WorkerManager UPDATE agents.status
  directly, bypassing the event log and violating runtime-semantics §3
  (all same-session domain updates go through BEGIN→insert events row→
  project→COMMIT). agents.status is now written only by agent.* projection;
  worker.ready handshake is clarified as a live IPC signal, not a status write.

O1 [P2] §5.4: MemoryRepository (an orphan name appearing exactly once,
  never defined in §4.3/§11.3/contracts/code-view) corrected to
  LearnedMemoryStore, matching §11.3 and the §21.3 traceability matrix.

Detailed design re-frozen with these corrections.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 15:09:46 +08:00
AirCoding
fbcd114f8d System detailed design: freeze declaration
Seven rounds of multi-model review across five models (DeepSeek, MIMO 2.5 Pro,
GPT-5.5 Pro, Opus 4.7, Opus 4.8) with zero remaining P0/P1/P2 findings.

Coverage final: contracts 100%, events (55 durable + 7 ephemeral) 100%,
DB schema (16+1+2 tables) 100%, state machines (6 of 6) 100%, forbidden
edges (10 of 10) enforced, UML class diagrams (8 of 8) verified.

§23 checklist now split into design-verified (all checked) and
implementation-entry gates (to verify as code is written).

Frozen. Proceed to implementation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 14:29:35 +08:00
AirCoding
2673e49cf8 Detailed design: fix four P2 findings from Opus 4.8 + DeepSeek reviews
Independent full-scope audits by Opus 4.8 (R6) and DeepSeek V4 Pro (R7)
converged on the same four P2 findings. This commit closes all four:

F1 §10.2: EvidenceStore.list_for_task() → list_for_entity("task", task_id)
  The fictional method list_for_task() was not in contracts §14. Now uses
  the real contract method list_for_entity() with task as entity_type.

F5 §16.1: DoctorService.check_capability() changed from public (+) to
  private (-) with a clarifying comment. Only run() is in contracts §19.

F2 §22.7: Context and Compaction class diagram now shows the internal
  dependency edges ContextAssembler ..> EvidenceStore (L6) and
  ContextAssembler ..> SessionStore (L7/L8), matching §10.2.

F3 §22.4: Tool and Permission class diagram now shows ToolRegistry -->
  ToolDefinition (registers) and ToolRegistry --> ToolExecutor (invokes),
  matching §9.1.

Also adds the two full-scope review reports that identified these findings.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 14:23:45 +08:00
AirCoding
af99aed1f4 Detailed design: close five R-series regressions from Opus 4.7 audit
Independent regression audit (Opus 4.7) verified P1×4 + P2×9 fixes were
closed but found that three of the P2 fixes had introduced new baseline
violations and two had minor errors. This commit closes all five.

R-series fixes (in system-detailed-design.md):

- R1-01 §10.2: L2 Safety source no longer names a fictional
  PermissionEngine.current_profile() method. The L2 row now describes
  the active permission profile sources (~/.air/permissions.yaml +
  project permission config) without inventing a contract method,
  honoring DD §0 "no new public contracts."

- R1-02 §5.4 Table A: agent.started projection no longer claims a
  two-step "starting → running" update within a single event commit
  (which would violate event atomicity). The row now matches
  event-registry §3: a single status (starting or running) at emission
  time, with the follow-up transition handled by WorkerManager per the
  state machine in §20.4.

- R1-03 §18.4 + §5.4 Table B: removed the non-baseline phase: intent |
  committed payload-field extension from memory.promoted and
  debug.record.created. Outbox semantics now follow the baseline model:
  owning store performs the external write first, then ingests a single
  durable completion event whose payload matches event-registry §3
  exactly. Any future intent/commit split must go through an ADR plus
  payload version bump.

- R2-01 §7.5: corrected workspace responsibility cross-reference from
  "overview §10.5" (Direct mode) to "overview §10.3" (Scheduler state
  machine, which actually covers workspace assignment and merge).

- R2-02 §3: resolved self-contradiction in the contracts file-set
  decision. The 16 files are now stated as mandatory with default
  inlining of all overview §4 symbol groups for V1.0.0 Alpha; any
  future split is explicitly out of scope until an ADR is added.

Also adds opus4.7详细设计与UML审查.md documenting the regression
findings, baseline-evidence trails, and recommended fixes that drove
these changes.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 10:06:44 +08:00
AirCoding
543743bbc1 Detailed design: resolve nine P2 cross-review findings
Apply all remaining P2-level repairs identified by the four-model
cross-review (DeepSeek, MIMO 2.5 Pro, GPT-5.5 Pro, Opus 4.8) and
verify by regression:

- P2-01 Architecture Designer gate sequence: add a dedicated §19.4
  sequence diagram covering trigger → impact assessment → result
  class (silent_continue/requires_user_confirmation/requires_replan/
  reject_or_escalate) → doc update via ToolRegistry → Scheduler
  consumption. Renumber Debug knowledge capture to §19.5.
- P2-02 CLI catalog command class ownership: replace the prose
  inventory with an explicit class-to-subcommand table covering
  RunCommand, InitCommand, DoctorCommand, ProviderCommand,
  E2ECommand, ReleaseCommand, ResumeCommand, CompactCommand,
  HistoryCommand, SessionListCommand, RestoreCommand.
- P2-03 agent.started projection wording: clarify the two-step
  domain update (starting upon spawn intent, running on handshake
  ack within the same event commit) and what carries the final
  state row at commit time.
- P2-04 WorkspaceManager vs. Scheduler responsibility split: add a
  policy/mechanism responsibility matrix to §7.5 making Scheduler
  the sole policy owner (strategy choice, conflict resolution) and
  WorkspaceManager the sole mechanism owner (materialize, merge,
  cleanup, lifecycle events).
- P2-05 EventStore.project boundary wording: split §5.4 into Table A
  (pure projection inside events_session.db transaction) and Table B
  (projection intent + post-commit outbox/compensation by owning
  service), removing the “write external DB via owner” phrasing from
  the in-transaction projection table.
- P2-06 memory.promoted two-phase semantics: rewrite §18.4 to
  document the intent vs. committed phases with payload markers,
  retry behaviour, and parity with debug.record.created.
- P2-07 docs task type closure: add a TaskType → WorkerRole mapping
  table in §8.3 and a design decision recording that `docs` is a
  formal TaskType handled by ExecutorRole with docs-scoped
  TaskScope.write_area; events and verification follow the execute
  pipeline with type='docs' as the domain-level differentiator.
- P2-08 AgentType vs. runtime roles: add a top-level table in §2
  pinning AgentType to worker child-process roles only and naming
  the runtime-resident roles (main, architecture_designer,
  scheduler) plus their prompt sources and LLM-use flags.
- P2-09 contracts package file set: replace the IMPL note in §3 with
  a frozen file-set decision plus an overview §4 symbol-group →
  code-view §3 file mapping; new files require an ADR.

Regression confirms: §19 sequence count is now 5; §17 CLI table
covers every catalog command; §5.4 splits projection vs. outbox;
§18.4 documents memory.promoted phase semantics; §8.3 lists docs
under ExecutorRole; §2 names runtime roles; §3 freezes the contracts
file set.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 09:49:16 +08:00
AirCoding
453df09c21 Detailed design: resolve four P1 cross-review findings
Apply repairs identified by the four-model cross-review (DeepSeek,
MIMO 2.5 Pro, GPT-5.5 Pro, Opus 4.8) and verify by regression:

- P1-01 Worker exit codes: align overview §11 and detailed-design §8.1
  with baselineV1 §8 (0 protocol-level completion / 1 uncaught exception
  / 2 startup or protocol error / 3 permission error / 4 parent cancelled
  / 5 hard timeout killed). Record that task outcomes are reported via
  WorkerResult.status, not exit codes.
- P1-02 PromptLayerLevel enum: add "safety" to interface-contracts §16
  so the enum fully covers prompt-layering-v1 §2 L0-L9 (plus
  system_debug applied within L9).
- P1-03 EventStore.project error handling: document in detailed-design
  §5.3 that a project() exception rolls back the full transaction,
  suppresses EventBus.publish(), returns AirError{kind:"system_error"},
  and triggers referential_check() on FK-off inconsistencies.
- P1-04 PromptLayerLoader completeness: record in detailed-design §10.2
  that PromptLayerLoader only owns L0/L1/L3/L5 while ContextAssembler
  composes L2/L4/L6/L7/L8/L9 from PermissionEngine, TaskSpec,
  SessionStore, and ToolRegistry sources; clarify runtime-role prompts.

Regression confirms baselineV1, overview, and detailed-design now share
identical exit code semantics, the PromptLayerLevel enum covers all ten
layers, EventStore error semantics are explicit, and the PromptLayer
loading responsibility split is fully documented.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 09:38:16 +08:00
AirCoding
b668b185e1 System detailed design: four-model cross-review complete
Add system-detailed-design.md (2033 lines, 23 sections) derived from
frozen baselines and overview. Complete four-model cross-review:
- DeepSeek: baseline coverage audit (PASS, 9.6/10)
- MIMO 2.5 Pro: internal consistency (PASS, 9.4/10)
- GPT-5.5 Pro: baseline conflict detection (Requires repair)
- Opus 4.8: validation + root cause analysis (CONDITIONAL PASS, 9.1/10)

Key findings requiring resolution before freeze:
- P1-01: Worker exit code semantic conflict (baselineV1 vs overview)
- P1-02: PromptLayerLevel enum vs L0-L9 layer name mismatch
- P1-03: EventStore.project() error handling undefined
- P1-04: PromptLayerLoader interface incomplete for 10 layers

Coverage verified: 100% contracts, events, DB schema, state machines.
Architecture validated: no circular dependencies, proper separation.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 18:57:13 +08:00
AirCoding
8d9c4208fa System overview design: four-model audit, repair, and regression complete
- system-overview-design.md: repaired with P0/P1/P2 gaps resolved, all 24 frozen baselines listed, error taxonomy, global ~/.air, IPC, TaskSpec/WorkerResult, PromptLayer, PermissionEngine, RuntimeEvent, state machines, capability trust, artifact naming, operations
- Four cross-verification audit reports (GPT-5, MIMO 2.5, Opus 4.7, DeepSeek V4 Pro)
- Three regression reviews (R1: initial repair closure, R2: second pass with PromptLayer L9 wording found, R3: full PromptLayer alignment verified)
- AGENTS.md, plan.md, todo.md synchronized

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 15:46:26 +08:00
AirCoding
82f3140847 Initial commit: AirCoding V1.0.0 Alpha architecture baseline
Complete architecture document set with multi-model review remediation:
- Frozen interface contracts, runtime semantics, DB schemas
- Event/tool/error/provider registries
- Scheduler and main agent state machines
- C4 module/code views, solution architecture, baseline V1
- Multi-model review reports and joint assessment
- Phase-gate remediation complete (P0/P1/P2/UX resolved)
- Implementation plan with T-000A through T-045
- Reference folders kept as placeholders only
2026-05-28 18:45:01 +08:00