Commit Graph
2524 Commits
Author SHA1 Message Date
weichen ed4e17c819 Merge pull request 'issue#2 收官:按包测试库 + 生产同构审批夹具;短测全量必需门禁' (#18) from feature/issue2-pg-tests-perpackage-db-2026-09-29 into dev
CI / go-vet (push) Successful in 40s
CI / backup-restore-drill (push) Successful in 30s
CI / web (push) Successful in 33s
2026-09-29 10:11:42 +00:00
agent-bot cbef2157d8 fix(web): restore dist/.gitkeep dropped by local build + git add -A
CI / go-vet (pull_request) Successful in 45s
CI / backup-restore-drill (pull_request) Successful in 40s
CI / web (pull_request) Successful in 34s
vite build empties web/dist (including the tracked .gitkeep that keeps
go:embed all:dist satisfiable on fresh checkouts); restore it.
2026-09-29 10:03:30 +00:00
agent-bot ee1e53b510 fix(tests): per-package test databases + legitimate approval fixtures (issue #2 close)
CI / go-vet (pull_request) Failing after 10s
CI / backup-restore-drill (pull_request) Failing after 25s
CI / web (pull_request) Successful in 33s
Root causes of the remaining 5 CI PG failures (and the hidden flaky set):
1. All PG-integration packages shared ONE database under parallel package
   execution - migrations/seeds/truncates raced (nondeterministic failure
   sets, locally and in CI).
   Fix: RequireTestDatabaseURL/SkipIfNoTestDatabaseURL now derive a
   per-package database (<base>_<pkgHash>, advisory-lock-guarded
   CREATE); 9 raw-env straggler tests funnelled through the helpers;
   db-package tests call it unqualified (no import cycle).
2. Approval-chain fixtures were not production-shaped: freezeReviewSnapshot
   only honors head_snapshot_id, fake content hashes never froze a
   snapshot, so ApproverApprove rejected with 'approved requires frozen
   review_snapshot_id'. Errors were swallowed (_, _ =) hiding this.
   Fix (ownership-respecting, arch-enforced):
   - docrevision.SeedContentSnapshotForTest seeds the ledger tables it owns
   - docgov GovernanceEngine.FreezeHeadSnapshotForTest freezes head/review
     pointers on document_records (docgov-owned) and clears engine cache
   - all four integration fixtures use the pair; swallowed errors checked
3. Fixed-name fixtures collide once a package shares one DB (projects
   uq_projects_name_global): uniquified in projectinstance + server tests.
4. CAS/ctxmgr tests never bootstrapped migrations (relied on other packages
   having migrated the shared DB): explicit RunMigrationsOnceForTest.

Verified: full parallel short suite = 75 packages, 0 failures against an
isolated throwaway PG. CI skip list removed - short tests fully required.
2026-09-29 09:54:43 +00:00
weichen 65757d1c4e Merge pull request 'issue#2 修复:CLI 聊天/阶段推进项目绑定回填;全仓短测 75 包全绿并升回必需门禁' (#17) from feature/fix-issue2-short-tests-2026-09-29 into dev
CI / go-vet (push) Successful in 38s
CI / backup-restore-drill (push) Successful in 37s
CI / web (push) Successful in 32s
2026-09-29 09:27:41 +00:00
agent-bot cc5b5bc8a8 ci: required short tests with explicit legacy skip list (issue #2 ratchet)
CI / go-vet (pull_request) Successful in 43s
CI / backup-restore-drill (pull_request) Successful in 27s
CI / web (pull_request) Successful in 32s
Pre-change the hidden report job aggregated 15 failures; this PR fixes 10.
The 5 remaining PG-integration failures are pre-existing (verified against
the old report-job log) and stay name-listed in -skip until fixed; any NEW
failure blocks the gate.
2026-09-29 09:20:22 +00:00
agent-bot 375c5a42db test(config): force permission bits in perms test (umask-proof)
CI / backup-restore-drill (pull_request) Successful in 34s
CI / web (pull_request) Successful in 32s
CI / go-vet (pull_request) Failing after 39s
os.WriteFile mode is masked by umask (022 in CI turns 0666 into 0644),
making the writable-file rejection test environment-dependent; chmod the
explicit bits after write
2026-09-29 09:12:02 +00:00
agent-bot 7de9e35dcf fix(chat): bind project ID through CLI chat + stage dispatch (issue #2)
CI / go-vet (pull_request) Failing after 39s
CI / backup-restore-drill (pull_request) Successful in 30s
CI / web (pull_request) Successful in 31s
Root cause: the 2026-09-28 controlled-projection hardening added the
ErrUnboundControlledProject guard, and the server path got session project
binding backfilled - but two paths missed:
- CLI chat mode never called session.SetProjectID (only -project name)
- coordinator handleAdvanceStage built StageRunRequest without
  ProjectID/UserID, so every stage-advance squad task was rejected

Fixes:
- handleChatMode gains projectID param (wired from -project-id flag);
  session binding follows the server convention
- handleAdvanceStage passes parseDecimalID(UserCtx.Project/User.ID)
- CLI chat tests get hermetic env (unreachable DB + ALLOW_IN_MEMORY) so
  local runs stop accidentally hitting the real dev DB on :5433
- stale test TestBindSessionProjectContext_KeepsExistingProjectID asserted
  the pre-fix 'switch does not propagate' bug; updated to assert switch
  propagation + bind no-overwrite

Result: go test -short ./... = 75 packages, 0 failures (first time).
Short tests promoted from report-only back into the required CI gate.
2026-09-29 09:04:16 +00:00
weichen 4c0fa08401 Merge pull request 'U6a 冒烟记录:单文件 RC 首次干净环境验证通过' (#16) from feature/u6a-smoke-record-2026-09-29 into dev
CI / go-vet (push) Successful in 11s
CI / short-tests-report (push) Failing after 35s
CI / backup-restore-drill (push) Successful in 50s
CI / web (push) Successful in 32s
2026-09-29 08:46:59 +00:00
agent-bot 4e3ff8defc docs(ops): U6a single-binary smoke record (first clean-env validation)
CI / go-vet (pull_request) Successful in 12s
CI / short-tests-report (pull_request) Failing after 35s
CI / backup-restore-drill (pull_request) Successful in 26s
CI / web (pull_request) Successful in 32s
33M binary @5d961147: embedded migrations to v78 on a throwaway isolated
PG, embedded UI served (200), instance marker+lock, duplicate-start
rejected, config check/explain clean-dir pass. RC stays local per the
no-Gitea-components directive; publication gated on authorization.
2026-09-29 08:42:45 +00:00
weichen 5d96114777 Merge pull request 'U10c 首切片:实例身份标记/单启锁/可写根校验 + systemd 模板' (#15) from feature/u10c-instance-bootstrap-2026-09-29 into dev
CI / go-vet (push) Successful in 11s
CI / short-tests-report (push) Failing after 35s
CI / backup-restore-drill (push) Failing after 11s
CI / web (push) Successful in 32s
2026-09-29 08:37:26 +00:00
agent-bot 2ad1ef393a feat(bootstrap): instance identity, single-start lock, root checks (U10c slice 1)
CI / backup-restore-drill (pull_request) Successful in 27s
CI / web (pull_request) Successful in 32s
CI / go-vet (pull_request) Successful in 14s
CI / short-tests-report (pull_request) Failing after 36s
- internal/bootstrap.EnsureInstance on the serve path: normalized writable
  roots, symlink-aware validation, data-root vs vault containment rejection,
  filesystem-root refusal
- instance-marker.json in data root: first boot creates; foreign instance
  ID fails closed (explicit adopt/migrate required, KTD18)
- instance.lock non-blocking flock detects duplicate starts locally without
  any governance tooling; ownership held until process exit
- Config.InstanceID (INSTANCE_ID env/file key; default 'default') joins the
  instance-settings bootstrap denylist (identity cannot be self-overwritten)
- auth is Bearer+localStorage per origin (no cookies) - browser isolation
  holds across ports; documented in the unit template
- deploy/systemd/agent-system@.service template (instance %i: env file,
  DATA_DIR, hardened service scope)
- tests: marker create/foreign reject, vault overlap, invalid IDs, root
  refusal, in-process duplicate-start detection
2026-09-29 08:32:15 +00:00
weichen a22f6b64d9 Merge pull request 'U10b 核心二:instance-settings 第五层(最终生效层 + 恢复开关 + 自覆盖防护)' (#14) from feature/u10b-instance-settings-2026-09-29 into dev
CI / go-vet (push) Successful in 12s
CI / short-tests-report (push) Failing after 35s
CI / backup-restore-drill (push) Successful in 28s
CI / web (push) Successful in 32s
2026-09-29 08:22:32 +00:00
agent-bot 28a2c8ca2b feat(config): instance-settings fifth layer (U10b core 2, KTD16/17)
CI / go-vet (pull_request) Successful in 14s
CI / short-tests-report (pull_request) Failing after 36s
CI / backup-restore-drill (pull_request) Successful in 26s
CI / web (pull_request) Successful in 31s
- <config_root>/instance-settings.json is the final config layer:
  default > env-file(s) > process-env > cli > instance-settings
- LoadForServe wires the CLI mutation hook BEFORE instance settings;
  serve/check/explain all use it; plain Load keeps legacy behavior
- bootstrap denylist (env) fails closed (no self-locating file loop);
  SETTINGS_MODE=ignore skips the layer as the recovery path
- reflection-based typed application: string/int/bool/duration(string or
  seconds)/string-array; unknown fields and type mismatches fail closed
- group/world-writable settings file rejected; absent key = inherit
- sources table gains the instance-settings layer; e2e smoke verified
  (override applies; ignore-mode reverts to default)
2026-09-29 08:17:21 +00:00
weichen 9d550cfaf1 Merge pull request 'U10b 核心一:字段级来源快照(反射分层 diff,取代键注册表)' (#13) from feature/u10b-field-sources-2026-09-29 into dev
CI / go-vet (push) Successful in 19s
CI / short-tests-report (push) Failing after 35s
CI / web (push) Successful in 33s
CI / backup-restore-drill (push) Successful in 38s
2026-09-29 08:11:16 +00:00
agent-bot 93ab4802e9 feat(config): field-level source attribution via layer snapshots (U10b core 1/2)
CI / go-vet (pull_request) Successful in 13s
CI / short-tests-report (pull_request) Failing after 36s
CI / backup-restore-drill (pull_request) Successful in 37s
CI / web (pull_request) Successful in 32s
- LoadWithSources: reflection snapshots at layer boundaries (default ->
  env-file per file -> process-env incl. DSN/CORS/KB normalization); diff
  yields exact per-field source - no manual key registry, no drift
- Load unchanged signature/behavior (wrapper); ApplyCLIOverlay records the
  cli layer on a cloned config
- 'config explain' upgraded to field table (59 fields; source + set flag
  only, values never printed per KTD17)
- replaces the reporting-only key registry from PR #12
- tests: layer attribution (file/process override), cli overlay, Load regression
2026-09-29 08:06:06 +00:00
weichen df6fe473b3 Merge pull request 'U10b 首切片:config explain 键级来源溯源(cli > process-env > env-file > default)' (#12) from feature/u10b-config-explain-2026-09-29 into dev
CI / go-vet (push) Successful in 11s
CI / short-tests-report (push) Failing after 35s
CI / backup-restore-drill (push) Successful in 33s
CI / web (push) Successful in 35s
2026-09-29 07:44:39 +00:00
agent-bot 679028e44e feat(cli): 'config explain' with per-key layer attribution (U10b slice 1)
CI / go-vet (pull_request) Successful in 13s
CI / short-tests-report (pull_request) Failing after 35s
CI / backup-restore-drill (pull_request) Successful in 25s
CI / web (pull_request) Successful in 31s
- config.Explain(envFiles, cliOverrides): per-key source layer following the
  application precedence cli > process-env > env-file > default; registry is
  reporting-only (values still applied solely by Load); secrets never shown
- ParseEnvFileKeys shares applyEnvFile's parsing rules
- cmd/server 'config explain' resolves the same env-file stack as Load and
  renders the attribution table; smoke: HTTP_PORT/AGENT_BACKEND -> cli
- tests: registry liveness sample + layer attribution (file/process/cli/
  default) + secret masking
- full per-field snapshot with applied/desired revisions remains U10b core
2026-09-29 07:39:28 +00:00
weichen ecc43a436d Merge pull request 'U10a 尾片:config check 子命令(加载校验+脱敏摘要,零副作用)' (#11) from feature/u10a-config-check-2026-09-29 into dev
CI / web (push) Successful in 33s
CI / go-vet (push) Successful in 10s
CI / short-tests-report (push) Failing after 36s
CI / backup-restore-drill (push) Successful in 24s
2026-09-29 07:30:47 +00:00
agent-bot 2235fc7230 feat(cli): 'config check' subcommand (U10a tail, KTD16/17 minimal)
CI / go-vet (pull_request) Successful in 13s
CI / short-tests-report (pull_request) Failing after 36s
CI / backup-restore-drill (pull_request) Successful in 29s
CI / web (pull_request) Successful in 32s
- server config check: load + validate + masked summary; exit 1 on issues
- no side effects: creates no DB, starts nothing, writes no business dirs
- Config.Check() (production secrets, port range, data dir) exported for
  reuse; MaskedSummary never prints credential values
- default no-arg invocation unchanged (serve); help added
- smoke-verified: pass exit 0, invalid port exit 1 with issue line
- layer-source attribution (config explain) deferred to U10b ConfigSnapshot
2026-09-29 07:25:28 +00:00
weichen 0ceaafda8f Merge pull request 'U10a 续片:提示词与 xlsx 资产内嵌回退' (#10) from feature/u10a-embedded-assets-2026-09-29 into dev
CI / go-vet (push) Successful in 11s
CI / short-tests-report (push) Failing after 35s
CI / backup-restore-drill (push) Successful in 47s
CI / web (push) Successful in 31s
2026-09-29 07:23:13 +00:00
agent-bot 95e659a915 feat(assets): embedded prompt and xlsx asset fallback (U10a slice 2)
CI / go-vet (pull_request) Successful in 13s
CI / short-tests-report (pull_request) Failing after 36s
CI / backup-restore-drill (pull_request) Successful in 28s
CI / web (pull_request) Successful in 32s
- configs package embeds agents/ + shared/ prompt assets; templates package
  embeds xlsx/ (cdo_quote.xlsx)
- template.GetAgentInstructionFile: disk-first with embedded fallback for
  instructions and writing.md (dev behavior unchanged)
- quote.CalculateAndFill: embedded xlsx fallback when the on-disk template
  walk misses (single-binary deployments)
- presence test guards the embedded asset set
- verified: vet + template/quote/bizdev/squad/arch green
2026-09-29 07:17:32 +00:00
weichen fe2eb099c5 Merge pull request 'U10a 首切片:goose 迁移内嵌回退(单文件部署去 cwd 依赖第一步)' (#9) from feature/u10a-embedded-migrations-2026-09-29 into dev
CI / go-vet (push) Successful in 11s
CI / short-tests-report (push) Failing after 35s
CI / backup-restore-drill (push) Successful in 46s
CI / web (push) Successful in 32s
2026-09-29 07:13:45 +00:00
agent-bot 686dede802 feat(db): embedded goose migrations fallback (U10a first slice)
CI / go-vet (pull_request) Successful in 19s
CI / short-tests-report (pull_request) Failing after 35s
CI / backup-restore-drill (pull_request) Successful in 27s
CI / web (pull_request) Successful in 32s
- deploy/postgres (package dbassets) embeds the full goose chain;
  RunMigrations prefers the on-disk dir (dev behavior unchanged) and falls
  back to the embedded FS when the source tree is absent (single-binary
  deployments per plan U10/KTD16)
- goose SetBaseFS global state reset after use
- TestRunMigrationsEmbeddedFallback verified against a throwaway isolated
  pgvector container: nonexistent dir -> embedded chain -> version 78,
  migration gate count agrees
2026-09-29 07:07:58 +00:00
weichen 638e5b89db Merge pull request 'U4 第五步:AssetProvider 端口注入,移除 squad→template 依赖' (#8) from feature/squad-asset-provider-2026-09-29 into dev
CI / go-vet (push) Successful in 10s
CI / short-tests-report (push) Failing after 35s
CI / backup-restore-drill (push) Successful in 27s
CI / web (push) Successful in 32s
2026-09-29 06:35:17 +00:00
agent-bot 2c75dcaf69 refactor(squad): AssetProvider port replaces direct template dependency
CI / go-vet (pull_request) Successful in 13s
CI / short-tests-report (pull_request) Failing after 35s
CI / backup-restore-drill (pull_request) Successful in 36s
CI / web (pull_request) Successful in 32s
KTD1 fifth step (behavior preserved):
- squad.AssetProvider{DocTemplate,RenderDoc,AgentInstruction,
  AgentInstructionFile} injected via Options.Assets into Service,
  WorkspaceEngine and AdaptivePlanner
- bizdev templateAssetProvider maps port to internal/template (assembly side)
- nil-provider paths degrade to the same fallbacks the old error branches
  used (placeholder template, role header) — fail-visible, no guessing
- squad -> template import eliminated; arch edge moved bizdev->template
- verified: build/vet/arch green, squad+bizdev short tests pass
2026-09-29 06:29:51 +00:00
weichen 6baaa9131f Merge pull request 'U4 第三步:textextract 抽包,消除 materialindex→squad 反向依赖' (#7) from feature/textextract-package-2026-09-29 into dev
CI / web (push) Successful in 32s
CI / go-vet (push) Successful in 10s
CI / short-tests-report (push) Failing after 36s
CI / backup-restore-drill (push) Successful in 27s
2026-09-29 06:21:45 +00:00
agent-bot 8c2dd49e80 refactor(squad): quote preparation moves to Core via TaskPreparer hook
CI / web (pull_request) Successful in 32s
CI / go-vet (pull_request) Successful in 14s
CI / short-tests-report (pull_request) Failing after 35s
CI / backup-restore-drill (pull_request) Successful in 33s
KTD1 fourth step:
- squad.Options.TaskPreparer + TaskPreparation (Attachment + Backfills +
  MirrorTemplateToOutput); squad stays sole writer of its workspace files
- CDO quote calc/xlsx/backfill implementation moves to bizdev
  (quote_preparer.go); squad/quote_backfill.go relocated to bizdev
- arch path rule enforced the boundary: bizdev may not name/write
  output.md; mirroring decided squad-side via flag
- squad -> quote import eliminated; engine.go delegations now local
- verified: build/vet/arch green, squad+bizdev short tests pass
2026-09-29 06:16:19 +00:00
agent-bot f034a80c09 refactor(squad): drop dead WorkspaceRefForRun adapter (zero callers)
squad -> workspace import eliminated; physical workspace refs stay
product-side per KTD1. Arch edge removed from allowlist.
2026-09-29 06:11:55 +00:00
agent-bot e47cfd8f4e refactor(extract): move text extraction to internal/textextract
CI / go-vet (pull_request) Successful in 12s
CI / short-tests-report (pull_request) Failing after 36s
CI / backup-restore-drill (pull_request) Successful in 24s
CI / web (pull_request) Successful in 32s
KTD1 third step: material parsing returns to its own capability.
- ExtractTextWithAnchors + docx/anchor helpers move from squad/extract.go
  to internal/textextract (pure stdlib, no workflowdef dep)
- squad/extract.go keeps only ExtractAdvisorBriefing (squad domain logic)
- callers updated: squad context builders, bizdev materials, server
  chat_document_reader, materialindex pipeline
- reverse dependency materialindex -> squad eliminated (KTD1 explicit goal)
- module-boundaries.yaml: textextract declared + 4 edges
- verified: build/vet clean, arch green, textextract/squad/materialindex/
  bizdev tests green; server pre-existing env-dependent failure unchanged
  (issue #2, fails with and without this change)
2026-09-29 06:11:20 +00:00
weichen b8e9e75c99 Merge pull request 'U4 第二步:Squad 类型化 ProgressSink 端口,移除 internal/stream 依赖' (#6) from feature/squad-progress-port-2026-09-29 into dev
CI / go-vet (push) Successful in 9s
CI / short-tests-report (push) Failing after 35s
CI / backup-restore-drill (push) Successful in 33s
CI / web (push) Successful in 34s
2026-09-29 06:03:04 +00:00
agent-bot 95ebcaf703 Merge remote-tracking branch 'origin/dev' into feature/squad-progress-port-2026-09-29
CI / go-vet (pull_request) Successful in 9s
CI / short-tests-report (pull_request) Failing after 34s
CI / backup-restore-drill (pull_request) Successful in 56s
CI / web (pull_request) Successful in 32s
2026-09-29 05:58:16 +00:00
weichen a46a25b491 Merge pull request '移除 herdr 编排(用户决策:不再使用)' (#5) from feature/remove-herdr-2026-09-29 into dev
CI / go-vet (push) Successful in 10s
CI / short-tests-report (push) Failing after 34s
CI / backup-restore-drill (push) Successful in 31s
CI / web (push) Successful in 31s
2026-09-29 05:53:05 +00:00
agent-bot 2cd52da85d refactor(squad): typed ProgressSink port replaces direct stream dependency
CI / go-vet (pull_request) Successful in 12s
CI / short-tests-report (pull_request) Failing after 35s
CI / backup-restore-drill (pull_request) Successful in 36s
CI / web (pull_request) Successful in 33s
KTD1 second step (behavior preserved):
- squad defines ProgressSink (EmitPhase/Detail/Deliverable/Summary/Briefing)
  with its own DetailEvent/ToolEvent types; zero internal/stream imports left
- bizdev assembly maps port to SSE streamer (squad_progress_adapter) and
  injects via ctx at the four squad entry points
- process_bridge tests rewritten as port-contract tests (captureSink)
- verified: build+vet clean, squad/bizdev/archtest green
2026-09-29 05:51:32 +00:00
agent-bot 3523f43d20 fix: drop premature embedded gitlink for modules/agent-native
CI / go-vet (pull_request) Successful in 10s
CI / short-tests-report (pull_request) Failing after 35s
CI / backup-restore-drill (pull_request) Successful in 50s
CI / web (pull_request) Successful in 32s
Component clones are workspace-local until U4/U7b actually consume the
contract; gitlinks enter the tree with real consumption per KTD3.
2026-09-29 05:47:03 +00:00
agent-bot 39bd5367b5 chore: remove herdr orchestration (user decision: herdr will not be used)
- delete herdr start/dispatch scripts, herdr_agents.py and its test
- drop Herdr section from PROJECT.md and row from .doc/README.md taxonomy
- roster and handoff docs migrated to .doc/archive (history preserved,
  not deleted); test-reports mentioning herdr kept as dated evidence
2026-09-29 05:46:47 +00:00
weichen 258c9d0a8f Merge pull request 'U4 第一步:Squad 依赖注入解耦(Options + 后端工厂),移除 config.Config 依赖' (#4) from feature/squad-options-injection-2026-09-29 into dev
CI / go-vet (push) Successful in 10s
CI / short-tests-report (push) Failing after 34s
CI / backup-restore-drill (push) Successful in 39s
CI / web (push) Successful in 35s
2026-09-29 05:19:26 +00:00
agent-bot 97879e5956 arch(boundaries): declare bizdev->agent assembly edge
CI / go-vet (pull_request) Successful in 11s
CI / short-tests-report (pull_request) Failing after 34s
CI / backup-restore-drill (pull_request) Successful in 29s
CI / web (pull_request) Successful in 32s
bizdev is the composition point injecting the backend factory into
squad.Options (KTD1: assembly stays in the product app); the new import is
intentional and now owned by the machine contract, same PR as the code.
2026-09-29 05:13:54 +00:00
agent-bot 72c0996b74 refactor(squad): inject Options + backend factory, drop config.Config dependency
CI / go-vet (pull_request) Failing after 10s
CI / short-tests-report (pull_request) Failing after 36s
CI / backup-restore-drill (pull_request) Successful in 27s
CI / web (pull_request) Successful in 30s
KTD1 first step (in-repo decoupling, behavior preserved):
- squad.Options{BackendName, BackendTimeout, DataDir, NewBackend} replaces
  *config.Config; defaults applied in withDefaults
- backend construction injected by caller (bizdev assembly): credentials,
  environment and concurrency stay product-side; nil factory fails closed
  instead of silently degrading to Stub
- verified: go vet ./... clean, squad/bizdev short tests pass
2026-09-29 05:09:54 +00:00
weichen beea8a21e5 Merge pull request 'U2 治理收口:AGENTS/PROJECT 三层模型改写,编码流程退役本地 agentctl 门禁' (#3) from feature/governance-u2-closeout-2026-09-29 into dev
CI / go-vet (push) Successful in 10s
CI / short-tests-report (push) Failing after 34s
CI / backup-restore-drill (push) Successful in 23s
CI / web (push) Successful in 30s
2026-09-29 05:09:44 +00:00
agent-bot 1409e02187 refactor(governance): retire local agentctl gates for coding flow (U2 closeout)
CI / go-vet (pull_request) Successful in 10s
CI / short-tests-report (pull_request) Failing after 33s
CI / backup-restore-drill (pull_request) Successful in 31s
CI / web (pull_request) Successful in 32s
- AGENTS.md/PROJECT.md rewritten to three-layer model (hard/default/advice);
  remote authority = Gitea native protection, coding flow zero-agentctl
- delete .cursor/rules/agentctl-mandatory.mdc; cursor hooks downgraded to advisory
- CURRENT/FEATURE-MATRIX become read-only snapshots; task state = Issue/PR
- CI: add tracked secrets scan to required go-vet job
- closeout record with V19/V20/V23/V26 evidence
- local pre-commit/reference-transaction hook files removed from main worktree
2026-09-29 05:07:43 +00:00
agent-bot 4a6ee0ea9d chore: V19 drill edit A (workspace clone, same path) 2026-09-29 05:07:07 +00:00
weichen 9504b624ee docs(ops): record U2b branch protection state
CI / go-vet (push) Successful in 10s
CI / short-tests-report (push) Failing after 34s
CI / backup-restore-drill (push) Successful in 53s
CI / web (push) Successful in 32s
2026-09-29 03:02:26 +00:00
weichen 4d716bcdcf Merge pull request 'U1 收口:基线同步、治理演练记录与实施方案(D2'/D7 修正)' (#1) from feature/governance-u2-relief-2026-09-29 into dev
CI / go-vet (push) Successful in 9s
CI / short-tests-report (push) Failing after 38s
CI / backup-restore-drill (push) Successful in 24s
CI / web (push) Successful in 32s
2026-09-29 03:01:33 +00:00
agent-bot 49606fb02f fix(ci): require vet+web, report-only short tests, service-host pg_dump
CI / go-vet (pull_request) Successful in 24s
CI / short-tests-report (pull_request) Failing after 35s
CI / backup-restore-drill (pull_request) Successful in 26s
CI / web (pull_request) Successful in 31s
- split go-vet-and-short-test: go-vet (vet+migration gate+arch-check) required;
  short tests moved to short-tests-report with continue-on-error (known env-
  dependent failures, tracked in issue #2, never green in CI history)
- backup-restore-drill: pg_dump/psql use service host 'postgres' not localhost
  (job containers reach services by DNS name, not host-published ports)
2026-09-29 02:56:12 +00:00
agent-bot 3d00137047 chore(ci): retrigger after runner instance-address fix (172.17.0.1)
CI / backup-restore-drill (pull_request) Failing after 2m36s
CI / web (pull_request) Successful in 1m15s
CI / go-vet-and-short-test (pull_request) Failing after 2m14s
2026-09-29 02:48:36 +00:00
agent-bot a15e9d1c58 fix(ci): drop host port publish for PG services, connect via service DNS
CI / go-vet-and-short-test (pull_request) Failing after 41s
CI / backup-restore-drill (pull_request) Failing after 41s
CI / web (pull_request) Failing after 30s
Host port 5432 is occupied by a live deployment since ~2026-09-24; CI service
containers failed with 'Bind for 127.0.0.1:5432 failed: port is already allocated'.
Services are reachable inside the job network as 'postgres:5432' without publishing.
2026-09-29 02:36:40 +00:00
weichen 8b4db5fe83 docs(multi-repo): U1 closeout - baseline inventory, governance drill record, implementation plan
CI / go-vet-and-short-test (pull_request) Failing after 0s
CI / backup-restore-drill (pull_request) Failing after 0s
CI / web (pull_request) Failing after 2m11s
- U1.4: dev synced fast-forward (fabd85a6..1bb48030, 337 commits), 11 tags pushed
- D5: 25 merged stale remote branches deleted, 10 remain
- U1.5 drill: branch protection N1-N5 all pass; self-approval forbidden by Gitea
  -> D2' amendment: agent-bot account created (author/reviewer separation)
- CI root cause found+fixed: docker network pool exhaustion (24 stale job networks pruned)
- D7: new migration workspace directive (no in-place Agent-System breakage)
2026-09-29 02:34:12 +00:00
weichen 1bb480309d merge: candidate multi-repo-design-closeout-2026-09-29 into dev
CI / go-vet-and-short-test (push) Failing after 0s
CI / backup-restore-drill (push) Failing after 1s
CI / web (push) Failing after 0s
2026-09-29 00:17:12 +00:00
weichen 787bcc53d4 docs(multi-repo): 落盘修订2-7的前端拆仓/Agent-Native/单文件应用方案 2026-09-29 00:16:05 +00:00
weichen 2db5dab3cd merge: candidate nightly-advance-land-2026-09-28 into dev 2026-09-28 19:20:06 +00:00