Commit Graph
292 Commits
Author SHA1 Message Date
weichen ddfc24cdf0 Close 1 merged task card(s) and archive them
ci / test (pull_request) Failing after 2m14s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: fix-task-finish-close-followups.md(PR#75) — 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-09-30 16:04:21 +00:00
weichen b696939eaa Merge pull request 'Stop task-finish from uninitializing shared submodule config' (#75) from fix/task-finish-close-followups into main
ci / test (push) Failing after 2m49s
2026-09-30 16:03:49 +00:00
weichen 9bb0af593c Record the sync checkpoint
ci / test (pull_request) Failing after 1m35s
2026-09-30 16:03:44 +00:00
weichen a552939497 Merge remote-tracking branch 'origin/main' into fix/task-finish-close-followups 2026-09-30 16:03:44 +00:00
weichen 03dc518eec Merge pull request 'Close the gitea-access-facts task card (PR #73 merged)' (#74) from feature/card-close-20260930-155017Z into main
ci / test (push) Failing after 1m57s
2026-09-30 16:02:02 +00:00
weichen e6cee503a2 Record the sync checkpoint
ci / test (pull_request) Failing after 11m5s
2026-09-30 16:01:38 +00:00
weichen b46d890529 Merge remote-tracking branch 'origin/main' into fix/task-finish-close-followups 2026-09-30 16:01:38 +00:00
weichen c61920a8dc Stop task-finish from uninitializing shared submodule config
Why: cmd_finish ran git submodule deinit --all, but submodule.<name>.url entries live in the shared .git/config — finishing any task silently marked every other checkout and worktree uninitialized (observed twice on 2026-09-30: main checkout uninit=12 after each finish; a parallel session hit it minutes before this fix landed). The deinit serves no purpose: worktree removal with gitlinks is refused regardless, so cleanup already goes through rm -rf + prune. Also aligns AGENTS.md with observed hook behavior (post-merge fires on ff-only pulls too, and its inline close cannot see cards merged remotely until they are pulled), and ignores the ZCode-generated .zcodeignore that tripped the BUSY gate in every session.
Evidence: bash -n clean; abandon-path smoke of the patched script — start + FORCE_ABANDON=1 finish of a throwaway branch left shared submodule url config at 12 entries (pre-fix: 0), main checkout submodule status uninit=0, smoke worktree and branch fully recycled; the smoke close also backfilled a parallel session card left open (gitea-access-facts) via a card-close branch, proving the fallback path.
Impact: scripts/task.sh cmd_finish only (removes one line, updates comment), AGENTS.md card-close paragraph, .gitignore one entry. No product or gitlink change; make test not applicable (repo-level tooling/docs only). web_base default fix intentionally withdrawn from this PR — landed via parallel PR #73.
Refs: .task/fix-task-finish-close-followups.md
2026-09-30 16:00:31 +00:00
weichen 2f79ac2876 Close 1 merged task card(s) and archive them
ci / test (pull_request) Failing after 1m58s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-gitea-access-facts.md(PR#73) — 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-09-30 15:50:17 +00:00
weichen 425c6e63f2 Merge pull request 'Fix stale Gitea host and record access facts in AGENTS.md' (#73) from feature/gitea-access-facts into main
ci / test (push) Failing after 30s
2026-09-30 15:47:45 +00:00
weichen 33aed627df Merge remote-tracking branch 'origin/main' into feature/gitea-access-facts
ci / test (pull_request) Failing after 31s
# Conflicts:
#	.task/archive/feature-chat-order-artifact-files.md
2026-09-30 15:47:36 +00:00
weichen 8a06ed1147 Fill task card objectives and verification evidence
ci / test (pull_request) Failing after 31s
Why: card must carry result and verification state before review.
Evidence: targeted behavior checks recorded in the card; bash -n passed.
Impact: documentation only.
Refs: feature-gitea-access-facts
2026-09-30 15:46:24 +00:00
weichen 63920c5004 Merge pull request 'Close the chat-order artifact-files task card (PR #71 merged)' (#72) from feature/card-close-20260930-154538Z into main
ci / test (push) Failing after 31s
2026-09-30 15:46:11 +00:00
weichen 7dbb5f97a6 Record the task card for fix-task-finish-close-followups 2026-09-30 15:46:04 +00:00
weichen f5f9bddb2f Close the chat-order artifact-files task card and archive it
ci / test (pull_request) Failing after 30s
Why: feature/chat-order-artifact-files merged via PR #71 but its task card stayed un-archived because the status line was hand-written as already-complete, which short-circuits the autoclose scan; backfill the main-record PR link and archive to prevent bookkeeping debt.

Evidence: .task/feature-chat-order-artifact-files.md moved to .task/archive/ with 任务主记录=PR #71 (merge bb1bf06) and the standard closure section; merge verified in origin/main.

Impact: .task bookkeeping only; no code or submodule change.

Refs: task.sh close (card-autoclose-r1)
2026-09-30 15:45:58 +00:00
weichen 50c8750317 Record the sync checkpoint 2026-09-30 15:45:34 +00:00
weichen f3a01e532d Merge remote-tracking branch 'origin/main' into feature/gitea-access-facts 2026-09-30 15:45:34 +00:00
weichen 80cddd82d4 Fix stale Gitea host and record access facts in AGENTS.md
Why: the TASK_CARD_WEB_BASE default in scripts/task.sh still pointed at
git-panel.u1680832.nyat.app:30319, which now fails the TLS handshake
(curl exit 35), breaking card-close PR links and API calls; agents also
kept rediscovering hosts and credential locations from scratch each
session.

Evidence: curl https://git-panel...:30319/api/v1/version -> exit 35; curl
https://git-home...:30319/api/v1/version with token from ~/.secrets/gitea
-> {"version":"1.27.3"}; ssh -p 31411 git@git-ssh... -> 'Hi there,
weichen!' with key ~/.ssh/home_gitea (ED25519, fingerprint
SHA256:GYXaOXIMeloQ1fKSfdJ/ndgPQzs/Ix7Hk62ekfkfQ20, key name GMKtec).

Impact: task.sh default web base now resolves to the live host; AGENTS.md
gains a Gitea access-facts section recording hosts plus credential
locations only (no secret values, per baseline hard boundary 2). Follow-up
PRs propagate the same section to the other project repos.

Refs: task card feature-gitea-access-facts
2026-09-30 15:45:22 +00:00
weichen bb1bf06aec Merge pull request 'Deliver part-order fidelity, artifact downloads, file management, and the settings shell fix' (#71) from feature/chat-order-artifact-files into main
ci / test (push) Failing after 31s
2026-09-30 15:44:04 +00:00
weichen 909c5567cd Record the task card for feature-gitea-access-facts 2026-09-30 15:43:56 +00:00
weichen 7e9cac8a40 Record the sync checkpoint
ci / test (pull_request) Failing after 30s
2026-09-30 15:42:52 +00:00
weichen 6a96c57bd4 Fill the task card results with PR links and evidence 2026-09-30 15:42:52 +00:00
weichen a2e1e3e64c Record the sync checkpoint 2026-09-30 15:42:52 +00:00
weichen 3e2a981d4e Point the task gitlinks at the fix branches 2026-09-30 15:42:52 +00:00
weichen 58ce6f801c Update the task card with scope and root causes 2026-09-30 15:42:01 +00:00
weichen 8cd347590e Record the task card for feature-chat-order-artifact-files 2026-09-30 15:42:01 +00:00
weichen 0654e03543 Merge pull request 'Close merged task cards (feature/card-close-20260930-153333Z)' (#70) from feature/card-close-20260930-153333Z into main
ci / test (push) Failing after 1m31s
2026-09-30 15:34:17 +00:00
weichen 42c1e1a921 Close 1 merged task card(s) and archive them
ci / test (pull_request) Failing after 1m54s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-task-start-rootfix.md(PR#69) — 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-09-30 15:33:33 +00:00
weichen 84b6ab084e Merge pull request 'Fix task worktree path derivation to anchor on the main checkout' (#69) from feature/task-start-rootfix into main
ci / test (push) Failing after 1m35s
2026-09-30 15:32:24 +00:00
weichen a4d4a13742 Fill task card objectives and verification evidence
ci / test (pull_request) Failing after 2m17s
Why: the task card and PR description are one document; objectives, results and verification evidence must be on the record before requesting review.
Evidence: card filled with smoke A/B results (sibling-path assertions both PASS) and sync row 7fab8feaf7/aecaa52e6b.
Impact: .task/feature-task-start-rootfix.md only; no code change.
Refs: feature-task-start-rootfix
2026-09-30 15:29:40 +00:00
weichen c9f27bc163 Record the sync checkpoint 2026-09-30 15:28:27 +00:00
weichen aecaa52e6b Merge remote-tracking branch 'origin/main' into feature/task-start-rootfix 2026-09-30 15:28:27 +00:00
weichen 7fab8feaf7 Merge pull request 'Close the cross-session reading task card (PR #67 merged)' (#68) from feature/card-close-20260930-152815Z into main
ci / test (push) Failing after 1m35s
2026-09-30 15:28:26 +00:00
weichen 833827221c Close 1 merged task card(s) and archive them
ci / test (pull_request) Failing after 11m46s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-cross-session-reading.md(PR#67) — 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-09-30 15:28:15 +00:00
weichen d3893609b7 Fix task worktree path derivation to anchor on the main checkout
Why: cmd_start derived the worktree location from $PWD, so running task.sh start from a repository subdirectory (or inside a task worktree) placed the new worktree at the wrong spot — e.g. scripts-wt-<slug> nested inside the repo.
Evidence: bash -n clean; functional smoke of the patched script from both the main checkout scripts/ subdir and the repo root created ../Agent-System-Dev-wt-<slug> as a sibling of the main checkout (paths asserted; pre-fix subdir run would nest inside the repo); git rev-parse --git-common-dir resolves to the main checkout from both locations (relative ../.git vs absolute).
Impact: scripts/task.sh cmd_start only; from the main checkout root the derived path is identical to before; new worktrees now always land as siblings of the main checkout regardless of invocation directory.
Refs: .task/feature-task-start-rootfix.md
2026-09-30 15:28:14 +00:00
weichen 816b40e8f7 Merge pull request 'Deliver layered cross-session reading and pin the five module PRs' (#67) from feature/cross-session-reading into main
ci / test (push) Failing after 2m10s
2026-09-30 15:27:41 +00:00
weichen 835e3ce187 Correct the pre-merge sync row on the task card
ci / test (pull_request) Failing after 1m36s
2026-09-30 15:27:28 +00:00
weichen f121e9aee2 Record the sync checkpoint 2026-09-30 15:26:30 +00:00
weichen e6c5cd99df Merge remote-tracking branch 'origin/main' into feature/cross-session-reading 2026-09-30 15:26:30 +00:00
weichen 9bde62cc44 Record the cross-session reading delivery on the task card 2026-09-30 15:26:30 +00:00
weichen cffb80f762 Pin the UI contracts mirror sync for cross-session flags
Why: make contracts regenerates modules/ui/src/contracts.ts from Core
as authority; the mirror commit (UI PR #15) must be pinned or the
combined tree stays dirty after make test.

Evidence: UI PR #15 merged on ui main; make test re-run on this tree
below.

Impact: gitlink-only change.

Refs: Core PR #6; UI PR #15; Dev task feature/cross-session-reading.
2026-09-30 15:25:39 +00:00
weichen ca84888345 Merge pull request 'Close the svc-auto-update task card (PR #65 merged)' (#66) from feature/card-close-20260930-152301Z into main
ci / test (push) Failing after 1m37s
2026-09-30 15:23:14 +00:00
weichen a372b1d6db Close 1 merged task card(s) and archive them
ci / test (pull_request) Failing after 1m37s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-svc-auto-update.md(PR#65) — 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-09-30 15:23:01 +00:00
weichen 4ae98489fa Merge pull request 'Add svc.sh update command: auto-detect repo advances and refresh services' (#65) from feature/svc-auto-update into main
ci / test (push) Failing after 1m33s
2026-09-30 15:22:53 +00:00
weichen 19452ba7ca Record the task card for feature-task-start-rootfix 2026-09-30 15:22:51 +00:00
weichen 88b2089023 Record the sync checkpoint
ci / test (pull_request) Failing after 1m35s
2026-09-30 15:22:40 +00:00
weichen 072d62be56 Pin cross-session reading delivery across four modules
Why: integrate the approved cross-session reading feature (proposal +
core contract + backend gate/tools/UI) into the Dev composition.

Evidence: subrepo PRs all merged on their mains — Documents #21
(bf0988b), Core #6 (fd44179), Backend #18 (cb7f79d), Frontend #16
(9c87953); combined make test to follow on this exact tree before the
Dev PR is requested.

Impact: gitlink-only change plus task card; no Dev-repo code touched.

Refs: modules/documents/docs/proposals/2026-09-30-cross-session-reading.md;
task card .task/feature-cross-session-reading.md.
2026-09-30 15:22:39 +00:00
weichen ac8db54ecb Add svc.sh update command: auto-detect repo advances and refresh services
Why:
After the repository moves forward, updating a running service meant
manually figuring out the new commit, rebuilding and redeploying by hand;
the user asked for the tool to detect and update automatically.

Evidence:
- "update [name...] [--check] [--all] [--no-fetch]": fetches origin,
  compares each service's registered source against the latest (Dev repo
  origin/main for local@/dev@ sources, newest Releases version for
  release@), prints a per-service table (current / latest / state), and
  without --check refreshes outdated running services by reusing the full
  deploy pipeline (stop → build/verify → start → health check; persisted
  exec= config and tags survive; update events appended to history).
- local@ services: auto git pull --ff-only origin main + make sync before
  rebuilding, guarded three ways (current branch == main, clean worktree,
  ff-only) — dirty trees or non-main branches are skipped with a warning,
  never touching uncommitted work.
- dev@ sources go straight to the remote main commit via an isolated
  worktree; release@ sources deploy the newest Releases version with
  sha256 verification; postgres and static --dir services are reported as
  not applicable; sources that diverged from or lead the remote are never
  force-updated.
- Verified end to end with five test services: dev@73b2802 → dev@ffda6d3
  (real isolated build, HTTP 200, tag/port preserved, worktree recycled),
  non-main-branch skip, stopped-service warning vs --all, release
  sha256-verified update, --check read-only (svc.env checksums unchanged),
  unregistered name exits 2.
- Fixed en route: a latent bug from the v2 refactor — materialize_dev_commit
  leaked submodule/make stdout into the captured worktree path, breaking
  every real dev@sha deploy since (cp: File name too long); build output
  now goes to stderr. Also fixed an unbound-variable crash in the update
  loop (local statement self-reference under set -u).

Impact:
New read-mostly operational command; no behavior change to existing
commands except dev@sha deploys now actually working end to end.
Makefile gains svc-update; --help and docs/svc.md document the command.

Refs: .task/feature-svc-auto-update.md(任务卡=PR 描述)
2026-09-30 15:22:33 +00:00
weichen f467e49c58 Record the task card for feature-svc-auto-update 2026-09-30 15:02:15 +00:00
weichen 032085a690 Record the task card for feature-cross-session-reading 2026-09-30 14:55:34 +00:00