Commit Graph
2128 Commits
Author SHA1 Message Date
weichen 6fe00a3a5c Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=bbce8db9054b67fd8bacf3935ceb65b205682e63.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-11 22:11:36 +00:00
weichen c40fd61af6 Backfill the task card with the PR link and verification summary
ci / test-pg (pull_request) Successful in 1m3s
ci / test (pull_request) Successful in 2m31s
Why: closing the card requires the merged PR reference and honest
verification lines per the anti-debt gate.

Evidence: PR #396 merged at main (CI GATE green on e0b49d1); evidence
table rows written by make evidence.

Impact: task metadata only.

Refs: .task/feature-svc-autorecover.md
2026-10-11 22:07:52 +00:00
weichen bbce8db905 Merge pull request 'Add svc auto-recovery: autostart desired-state, recover, watchdog' (#396) from feature/svc-autorecover into main
ci / test-pg (push) Successful in 1m0s
ci / test (push) Failing after 1m4s
2026-10-11 22:07:39 +00:00
weichen e0b49d1b90 Record the sync checkpoint
ci / test-pg (pull_request) Successful in 1m1s
ci / test (pull_request) Successful in 2m39s
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=3de5791e0841e9c7c40c3dc236be6d95b3969827; candidate=c514bc4f4d8f3236d6d001fe9046fc2a6a72705a.

Impact: task metadata only.

Refs: .task/feature-svc-autorecover.md
2026-10-11 21:56:41 +00:00
weichen c514bc4f4d Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=3de5791e0841e9c7c40c3dc236be6d95b3969827.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-11 21:56:13 +00:00
weichen e08ceebb95 Guard start paths with the ss-free port probe too
ci / test-pg (pull_request) Successful in 1m1s
ci / test (pull_request) Successful in 2m34s
Why: check_port_free consulted port_owner (ss -ltnp) only, so the
/dev/tcp fallback added to port_listening never ran on the start path;
CI (no iproute2) still started onto a thief-held port.

Evidence: no-ss simulation refuses a bound port and passes a free one;
full suite 10/10 and make test-governance rerun recorded on the card;
CI on the new head is authoritative.

Impact: scripts/svc.sh check_port_free only.

Refs: .task/feature-svc-autorecover.md
2026-10-11 21:34:12 +00:00
weichen 9b5ecd57a2 Detect listening ports without ss via /dev/tcp fallback
ci / test-pg (pull_request) Successful in 1m0s
ci / test (pull_request) Failing after 1m6s
Why: the CI runner container has no iproute2, so port_listening went
blind: recover started a service onto a thief-held port and the health
probe hit the thief (HTTP 200), reporting a bogus start success.

Evidence: no-ss PATH simulation shows the fallback detects a bound port
and passes free ports; make test-governance rerun recorded on the task
card; CI on the new head is authoritative.

Impact: scripts/svc.sh port_listening only (ss stays primary when
present).

Refs: .task/feature-svc-autorecover.md
2026-10-11 21:12:16 +00:00
weichen 3de5791e08 Merge pull request 'Close merged task card: feature-svc-rdm-source (PR #398)' (#399) from feature/card-close-20261011-205051Z into main
ci / test-pg (push) Successful in 1m8s
ci / test (push) Successful in 2m33s
2026-10-11 20:51:01 +00:00
weichen 84d862cdcd Close 1 merged task card(s) and archive them
ci / test-pg (pull_request) Successful in 1m6s
ci / test (pull_request) Successful in 2m35s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-svc-rdm-source.md(PR#398) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
2026-10-11 20:50:51 +00:00
weichen c936174bed Merge pull request 'Add an rdm deploy source to svc (downstream composite binary)' (#398) from feature/svc-rdm-source into main
ci / test-pg (push) Successful in 1m5s
ci / test (push) Successful in 2m33s
2026-10-11 20:49:57 +00:00
weichen b12e94dcd9 Wait for the port thief to bind before recovering
ci / test-pg (pull_request) Successful in 1m0s
ci / test (pull_request) Failing after 1m3s
Why: Popen returns before python http.server finishes binding, so on
slower CI runners recover won the race and started the service, turning
the port-stolen case into a flake.

Evidence: single-case rerun OK locally; make test-governance rerun
recorded on the task card; CI on the new head is authoritative.

Impact: test synchronization only.

Refs: .task/feature-svc-autorecover.md
2026-10-11 20:49:50 +00:00
weichen cc4ea0e357 Record the sync and test evidence in the task card
ci / test-pg (pull_request) Successful in 1m1s
ci / test (pull_request) Successful in 2m27s
2026-10-11 20:46:40 +00:00
weichen 9b707c3f6a Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=6933ec3979fef58e94461f3b80bb79fca3874c99; candidate=2d723b2a3c5883b32443ad5a731a34db41206f80.

Impact: task metadata only.

Refs: .task/feature-svc-rdm-source.md
2026-10-11 20:46:32 +00:00
weichen 2d723b2a3c Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=6933ec3979fef58e94461f3b80bb79fca3874c99.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-11 20:46:06 +00:00
weichen 419380187d Add an rdm deploy source to svc (downstream composite binary)
Why: RDM capabilities (two-trees-one-net, rdm.* trace-audit command face)
only exist in the downstream Agent-System-RDM composite binary; svc's three
existing sources all produce the Dev binary, so none of it could be deployed
or lifecycle-managed. This adds --from rdm[@<sha>] with the same isolated
source-repo semantics as the dev source.

Evidence: make test-governance 138/138 (two new stub cases: deploy E2E and
commits/update track); real deployment rdm@2aef3fc recorded in the task card
(pins materialized, pure-Go build, web workbench to htdocs, serve health OK,
rdm.ping/rdm.inspect.capabilities committed, update --check reports latest);
make test full suite exit=0. All segments written by make evidence.

Impact: scripts/svc.sh (rdm source resolution/materialization/deploy/update/
commits, probe timeouts, rdm seed skip, ELF env-DSN evidence fallback),
docs/svc.md 5.4, tests/test_svc.py. RDM-side CLI alignment landed as RDM
PR #228; no base submodules touched.

Refs: task card .task/feature-svc-rdm-source.md; RDM PR #228/#229.
2026-10-11 20:46:03 +00:00
weichen cd43a62a87 Treat SIGKILL zombies as dead in recover tests
ci / test-pg (pull_request) Successful in 59s
ci / test (pull_request) Failing after 1m2s
Why: CI containers run a PID 1 that does not reap orphans, so the
killed stub lingers as a zombie and os.kill(pid, 0) keeps succeeding;
local dev machines reap instantly, which hid the difference.

Evidence: tests/test_svc_recover 10/10 after the fix; make
test-governance re-run recorded on the task card; CI on the new head
is the authoritative gate.

Impact: test helper only (svc.sh already treats zombies as dead via
empty-cmdline pidcheck).

Refs: .task/feature-svc-autorecover.md
2026-10-11 20:37:40 +00:00
weichen 6933ec3979 Merge pull request 'Close merged task cards (feature/card-close-20261011-203254Z)' (#397) from feature/card-close-20261011-203254Z into main
ci / test-pg (push) Successful in 1m0s
ci / test (push) Failing after 1m54s
2026-10-11 20:33:03 +00:00
weichen da33b13089 Close 1 merged task card(s) and archive them
ci / test-pg (pull_request) Successful in 1m1s
ci / test (pull_request) Successful in 2m27s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-collab-storage-u6-vector.md(PR#395) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
2026-10-11 20:32:54 +00:00
weichen e7900e1bc7 Merge pull request 'U6 slice 3: model identity and in-database vector top-k via pgvector (pin #159)' (#395) from feature/collab-storage-u6-vector into main
ci / test-pg (push) Successful in 1m10s
ci / test (push) Successful in 2m27s
2026-10-11 20:25:41 +00:00
weichen effb4edfcd Record the task card for feature-svc-rdm-source
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-svc-rdm-source.md; R0=acc8bf124c04b89ed05093467ebce865934bdddc.

Impact: task metadata only; the feature workspace starts at acc8bf124c.

Refs: .task/feature-svc-rdm-source.md
2026-10-11 20:25:27 +00:00
weichen fe4027c46c Record post-sync governance rerun and sync checkpoint
ci / test-pg (pull_request) Failing after 1m13s
ci / test (pull_request) Failing after 1m29s
Why: task-sync advanced the base; key checks re-run at the merged head per the evidence gate.

Evidence: make evidence appended the post-sync make test-governance run (146/146 OK); sync row recorded by task-sync.

Impact: task metadata only.

Refs: .task/feature-svc-autorecover.md
2026-10-11 20:23:22 +00:00
weichen 687214ac3b Merge authoritative main into the task branch
ci / test-pg (pull_request) Successful in 1m15s
ci / test (pull_request) Successful in 2m41s
2026-10-11 20:22:48 +00:00
weichen fe93b28c3a Record the U6 vector delivery state and evidence in the task card
ci / test-pg (pull_request) Successful in 1m1s
ci / test (pull_request) Successful in 2m45s
Why: stage review needs results and evidence in the card before the PR merges.

Evidence: make test / test-backend-pg (real pgvector) / make build exit 0 via the evidence tool.

Impact: task metadata only.

Refs: backend PR #159; Dev PR #395.
2026-10-11 20:22:23 +00:00
weichen ab39c796ea Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=acc8bf124c04b89ed05093467ebce865934bdddc; candidate=59109e589c8a942628d2eac88e57faeddae7e882.

Impact: task metadata only.

Refs: .task/feature-svc-autorecover.md
2026-10-11 20:22:09 +00:00
weichen ba2dad17f5 Record the U6 vector delivery state and evidence in the task card
ci / test-pg (pull_request) Successful in 1m14s
ci / test (pull_request) Successful in 2m39s
Why: stage review needs results and evidence in the card before the PR.

Evidence: make test / test-backend-pg (real pgvector) / make build exit 0 via the evidence tool.

Impact: task metadata only.

Refs: backend PR #159.
2026-10-11 20:21:45 +00:00
weichen 59109e589c Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=acc8bf124c04b89ed05093467ebce865934bdddc.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-11 20:21:43 +00:00
weichen 9bb7eb579a Record governance test evidence on the task card
Why: the completion claim needs tool-written evidence per the evidence gate.

Evidence: make evidence wrote the make test-governance run (146/146 OK) into the card.

Impact: task metadata only.

Refs: .task/feature-svc-autorecover.md
2026-10-11 20:21:41 +00:00
weichen eda942523c Add svc auto-recovery: autostart desired-state, recover, watchdog
Why: svc services are bare nohup'd processes with persisted registration
but no supervision -- a crash, an OOM kill, or a reboot left them dead
until manual restart (2026-10-11 outage: dev service lost, runtime/ also
wiped by hand, nothing brought services back).

Evidence: tests/test_svc_recover.py 10 cases green (start records
autostart, stop clears it incl. dead-process stop, SIGKILL then recover
revives with persisted exec=, lock-held skips, port-stolen fails with
recover fail event, watchdog unit text via --print); make test-governance
146/146 OK locally; real-machine watchdog install + kill -9 revival to be
recorded on the task card.

Impact: svc.sh gains autostart key in svc.env, `recover [name]
[--quiet]` (postgres-first, per-service .start.lock, recover history
events), `watchdog install|remove|status` (systemd user timer, cron
fallback hint), lifecycle lock across start/stop/restart/deploy/update;
spawned services no longer inherit the lock fd (9>&-), and lock release
no longer clobbers script stderr. Makefile adds svc-recover/svc-watchdog;
docs/svc.md documents semantics and boundaries.

Refs: task card .task/feature-svc-autorecover.md; docs/svc.md 6.5/6.6;
parallel planning card feature/service-restart-recovery-plan (same
problem space, plan-stage).
2026-10-11 20:20:27 +00:00
weichen 57bf591f7b Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=dc97048556caebd03168866075d959f0f55d02a7; candidate=9caa8ec8e65ff919c139ff522a5d13f8e882a375.

Impact: task metadata only.

Refs: .task/feature-collab-storage-u6-vector.md
2026-10-11 20:19:02 +00:00
weichen acc8bf124c Merge pull request 'Close merged task card: feature-rdm-e2e-acceptance (PR #393)' (#394) from feature/card-close-20261011-182001Z into main
ci / test-pg (push) Successful in 1m9s
ci / test (push) Successful in 2m35s
Reviewed-on: https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/394
2026-10-11 20:18:52 +00:00
weichen 9caa8ec8e6 Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=dc97048556caebd03168866075d959f0f55d02a7.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-11 20:18:41 +00:00
weichen 0e8f0944cd Pin the backend U6 vector merge (PR #159, now on e49f165)
Why: the parent must pin the merged component SHA for combined build and CI.

Evidence: backend origin-main tip e49f165 (includes #159 and later merges) fetched post-recovery; internal core pin 89f3906 matches Dev modules/core.

Impact: gitlink only.

Refs: backend PR #159.
2026-10-11 20:18:39 +00:00
weichen dc97048556 Merge pull request 'Close merged task card: feature-base-ext-admin-project (PR #385)' (#386) from feature/card-close-20261011-164629Z into main
ci / test-pg (push) Successful in 1m0s
ci / test (push) Successful in 2m36s
Reviewed-on: https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/386
2026-10-11 20:18:23 +00:00
weichen 546f499645 Close 1 merged task card(s) and archive them
ci / test-pg (pull_request) Successful in 1m1s
ci / test (pull_request) Failing after 1m52s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-e2e-acceptance.md(PR#393) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
2026-10-11 18:20:01 +00:00
weichen 43722052eb Merge pull request 'U4 browser acceptance: Playwright harness, seed pipeline, and audit-workspace fixes (frontend pin bump)' (#393) from feature/rdm-e2e-acceptance into main
ci / test-pg (push) Successful in 1m3s
ci / test (push) Successful in 2m29s
2026-10-11 18:17:39 +00:00
weichen 0316efe91d Record the sync checkpoint
ci / test-pg (pull_request) Successful in 1m13s
ci / test (pull_request) Successful in 2m29s
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=660f581d81bb54c9868920df07e0b8fdbec8e036; candidate=d50b52fd62e625e2f8c524c5362eaae0d150f479.

Impact: task metadata only.

Refs: .task/feature-rdm-e2e-acceptance.md
2026-10-11 18:14:10 +00:00
weichen d50b52fd62 Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=660f581d81bb54c9868920df07e0b8fdbec8e036.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-11 18:13:51 +00:00
weichen 43f06a0215 Record the final E2E evidence in the task card
ci / test (pull_request) Successful in 2m34s
ci / test-pg (pull_request) Successful in 1m11s
2026-10-11 18:09:33 +00:00
weichen e67f026827 Build the seeding CLI from the RDM-pinned backend
Why: task-sync advanced the Dev backend gitlink past the RDM pin; a newer-schema user-create CLI migrates the fresh store beyond what the RDM binary (schema ceiling of its pin) can open.

Evidence: reproduce on 20261011-180439 run (v25 store vs v24 binary); rerun green recorded after this change.

Impact: scripts/e2e.sh only; seeding and serving now share one base version.
2026-10-11 18:05:30 +00:00
weichen 3100411981 Re-record the E2E evidence on the committed tree 2026-10-11 18:04:54 +00:00
weichen 97dacffb7e Re-record the suite evidence on the committed tree 2026-10-11 18:04:38 +00:00
weichen f4e0c77b9a Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=aa1f87602471cc567afd5756326e994315984fc8; candidate=fe2cd1920c559240ff083cdb8e1509ee087839ea.

Impact: task metadata only.

Refs: .task/feature-rdm-e2e-acceptance.md
2026-10-11 18:03:15 +00:00
weichen 660f581d81 Merge pull request 'Close task card: feature/material-intake-flow (merged via #390/#391)' (#392) from feature/card-close-20261011-180005Z into main
ci / test-pg (push) Successful in 1m0s
ci / test (push) Successful in 2m33s
2026-10-11 18:03:12 +00:00
weichen fe2cd1920c Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=aa1f87602471cc567afd5756326e994315984fc8.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-11 18:02:55 +00:00
weichen 46e5e3a477 Build the RDM E2E binary offline from local objects
Why: git submodule clone over the flaky Gitea SSH endpoint hangs the whole run; local archive + pinned-checkout snapshot removes the network dependency and cuts the build stage to seconds.

Evidence: this exact tree ran scripts/e2e.sh to green (4 passed) twice, recorded in the task card.

Impact: scripts/e2e.sh only; behavior unchanged when the network is healthy.
2026-10-11 18:02:53 +00:00
weichen deb249b0e1 Record the E2E acceptance evidence in the task card 2026-10-11 18:02:31 +00:00
weichen 8109c85a63 Record the suite evidence in the task card 2026-10-11 18:01:39 +00:00
weichen 481a7e035f Close 1 merged task card(s) and archive them
ci / test-pg (pull_request) Successful in 1m6s
ci / test (pull_request) Successful in 2m34s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-material-intake-flow.md(PR#391) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
2026-10-11 18:00:05 +00:00
weichen aa1f876024 Merge pull request 'Backfill the material-intake task card (PR links, stage conclusions)' (#391) from feature/material-intake-flow into main
ci / test-pg (push) Successful in 1m5s
ci / test (push) Successful in 2m36s
2026-10-11 17:59:24 +00:00
weichen fbd583fc65 Add E2E launcher for U4 audit acceptance and bump frontend pin
Why: U4 acceptance needs a reproducible real-browser run: build the
RDM binary from its origin/main, seed projects/ingest via the command
API, serve with auth on, and drive Playwright against vite preview.

Evidence: scripts/e2e.sh --seed-only smoke (in progress this task);
frontend pin points at the Playwright harness commit.

Impact: dev tooling only (.tmp artifacts ignored; no runtime changes).

Refs: task feature/rdm-e2e-acceptance; frontend feature branch of
the same name.
2026-10-11 17:58:12 +00:00