Commit Graph
187 Commits
Author SHA1 Message Date
weichen 81ac0ca5c2 Seed model and search settings on service start
Why: a freshly deployed environment boots with an empty settings store,
so the first run dies with "main model unconfigured" and the user has
to open the settings UI before anything works - the opposite of
one-command bring-up.

Evidence: live matrix - full seed (chat+lightweight+tavily) lands in
the settings store (API view shows baseUrl/model with the key masked),
restart without flags does not re-seed and the settings persist,
.svc.env sourcing seeds a fresh environment from the one-time config
file, and a no-flag start stays silent. Also wrapped a /proc read race
in pid_alive that printed tr noise during stop.

Impact: --model-base/--model-key/--model-name, --light-base/-key/
-name, --tavily-keys on start/deploy (idempotent, only provided
fields); SVC_MODEL_*/SVC_LIGHT_*/SVC_TAVILY_KEYS env vars; <repo>/
.svc.env one-time config file (gitignored) makes every future deploy
self-configuring; auth-protected instances fall back to a clear hint.

Refs: feature/svc-auto-seed task card.
2026-09-30 11:56:41 +00:00
weichen 82c2417edb Record the task card for feature-svc-auto-seed 2026-09-30 11:54:54 +00:00
weichen f832f0413e Merge pull request 'Close the svc-cli-args task card (PR link + archive)' (#48) from feature/card-close-cli into main
ci / test (push) Failing after 1m36s
2026-09-30 11:50:48 +00:00
weichen 1615eb5996 Close the svc-cli-args task card and archive it
ci / test (pull_request) Failing after 1m34s
Why: merged card needs its PR link backfilled and archived per the
no-bookkeeping-debt rule.

Evidence: Dev PR #47 merged; card records the live flag matrix.

Impact: card archived with link; no code change.
2026-09-30 11:50:41 +00:00
weichen 7bd62ecf06 Merge pull request 'Add CLI flags to svc.sh (addr/host/port/data/dsn/auth/mock/passthrough)' (#47) from feature/svc-cli-args into main
ci / test (push) Failing after 1m36s
2026-09-30 11:50:33 +00:00
weichen 604b12ab06 Record the sync checkpoint
ci / test (pull_request) Failing after 17m6s
2026-09-30 11:50:25 +00:00
weichen e3ba86aa16 Record the svc-cli-args task card results 2026-09-30 11:50:24 +00:00
weichen 8a494e87c7 Add CLI flags to svc.sh (addr/host/port/data/dsn/auth/mock/passthrough)
Why: the manager only took configuration from SVC_* environment
variables; binding a public interface or pointing at a database meant
exporting vars first, which is awkward for one-off deploys and
invisible in shell history review.

Evidence: live matrix on the worktree - --port (8801), --host 0.0.0.0
(bind verified via ss, health probe auto-maps to 127.0.0.1), --addr
whole-form, CLI-over-env precedence (--port beats SVC_DEV_ADDR),
--mock reaching the server cmdline, --dsn passthrough proven by the
postgres connect attempt in the log, -- passthrough (--artifacts), and
make svc ARGS passthrough. A set -e silent-exit trap in env_config was
caught by the first run and fixed (condition-as-last-statement).

Impact: scripts/svc.sh <env> [action] [--addr|--host|--port|--data|
--dsn|--auth|--mock|--plugins| -- <extra>]; precedence CLI > env vars >
defaults; help rewritten with examples; make svc gains ARGS; logs keeps
the positional line-count form. The real-world port guard held: a dev
instance started from the main checkout was refused with owner info,
untouched.

Refs: feature/svc-cli-args task card.
2026-09-30 11:50:24 +00:00
weichen 1ac864a0b5 Record the task card for feature-svc-cli-args 2026-09-30 11:47:03 +00:00
weichen 1174431ee6 Merge pull request 'Close the svc-env-script task card (PR link + archive)' (#46) from feature/card-close-svc into main
ci / test (push) Failing after 30s
2026-09-30 11:39:20 +00:00
weichen 4cdeeabfb9 Close the svc-env-script task card and archive it
ci / test (pull_request) Failing after 31s
Why: merged card needs its PR link backfilled and archived per the
no-bookkeeping-debt rule.

Evidence: Dev PR #45 merged; card records the live test matrix.

Impact: card archived with link; no code change.
2026-09-30 11:39:12 +00:00
weichen 5b81f82120 Merge pull request 'Add the svc.sh environment service manager' (#45) from feature/svc-env-script into main
ci / test (push) Failing after 31s
2026-09-30 11:38:57 +00:00
weichen c1eea4b05b Record the sync checkpoint
ci / test (pull_request) Failing after 1m31s
2026-09-30 11:38:44 +00:00
weichen f0e7831ed1 Record the svc-env-script task card results 2026-09-30 11:38:43 +00:00
weichen 35d114307d Add the svc.sh environment service manager
Why: deploying a new build meant manually finding and killing the old
process, rebuilding and re-launching with the right flags; dev and prod
instances could collide on ports, data dirs or kill each other.

Evidence: live matrix on the worktree - dev deploy (stop -> make build
-> start with health check), redeploy swaps the pid and keeps seeded
data, prod deploys alongside dev on separate port/data with fully
isolated /api/projects, port takeover is refused with the owning
process named while the running env stays up, stop clears pidfile and
frees the port. A pid-capture bug (compound-background subshell wrote
the wrapper pid instead of the server) was caught and fixed during the
first live run.

Impact: scripts/svc.sh <dev|prod> [deploy|stop|start|restart|status|
logs]; runtime/<env>/{data,svc.pid,svc.log,svc.env} isolation; defaults
dev 127.0.0.1:8788 / prod 127.0.0.1:8787 overridable via SVC_* env
vars (incl. SVC_PROD_DSN for the PG tier); make svc ENV=... shortcut;
runtime/ gitignored. Safety: only processes started by the script are
stopped (pidfile + /proc cmdline double check).

Refs: feature/svc-env-script task card.
2026-09-30 11:38:43 +00:00
weichen c2e5ca5211 Record the task card for feature-svc-env-script 2026-09-30 11:19:29 +00:00
weichen fcddfee5be Merge pull request 'Close the auth-admin-accounts task card (PR link + archive)' (#44) from feature/card-close-20260930-111808Z into main
ci / test (push) Failing after 1m31s
2026-09-30 11:18:22 +00:00
weichen ac38507cee Close 1 merged task card(s) and archive them
ci / test (pull_request) Failing after 1m41s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-auth-admin-accounts.md(PR#43) — 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 11:18:08 +00:00
weichen 2f319ca0f5 Merge pull request 'Admin-issued accounts R2: gitlinks + task card' (#43) from feature/auth-admin-accounts into main
ci / test (push) Failing after 1m36s
2026-09-30 11:17:31 +00:00
weichen 66eae89017 Advance frontend pin to merged PR #12 head
ci / test (pull_request) Failing after 30s
2026-09-30 11:17:12 +00:00
weichen a633f76a99 Merge origin/main (tavily-search sync; backend/documents rebased) 2026-09-30 11:15:49 +00:00
weichen e6ad8f06ac Land admin-issued auth R2 across repos (gitlinks + task card)
Why: R2 spans backend (migration v10, auth/session APIs, CLI user
subcommands), frontend (login page, forced change gate, admin user
management), documents (decision record).

Evidence: make test full suite green on this head (exit 0); headless
journey on the real binary with --auth on covers admin bootstrap,
first-login forced change for created and reset passwords, non-admin
menu gating, API-key login, logout.

Impact: auth-enabled deployments gain password login and admin account
management; embedded no-auth mode unchanged. Merge order: backend ->
frontend -> documents -> this PR.

Refs: proposal 2026-09-30-ui-redesign-and-auth.md (R2 admin-issued)
2026-09-30 11:15:06 +00:00
weichen 27408ecfaf Merge pull request 'Close the tavily-search task card (PR link + archive)' (#42) from feature/card-close-tavily into main
ci / test (push) Failing after 31s
2026-09-30 11:00:52 +00:00
weichen 024d60b362 Close the tavily-search task card and archive it
ci / test (pull_request) Failing after 31s
Why: merged combo card needs its PR link backfilled and the card
archived per the no-bookkeeping-debt rule.

Evidence: Dev PR #41 merged; card records both boot-state checks.

Impact: card archived with link; no code change.
2026-09-30 11:00:44 +00:00
weichen a40de58838 Merge pull request 'Pin the tavily-search combo (tool wiring + prompt modules)' (#41) from feature/tavily-search-tool into main
ci / test (push) Failing after 30s
2026-09-30 11:00:36 +00:00
weichen 68712bd619 Record the sync checkpoint
ci / test (pull_request) Failing after 31s
2026-09-30 11:00:17 +00:00
weichen 1634b42df0 Pin the tavily-search combo (tool wiring + prompt modules + guide row)
Why: give the catalog's WebSearch prompt a carrier by registering
Agent-Native's Tavily tools behind settings, with library copy on top.

Evidence: backend 16 packages green incl. 4 new search tests; live
boot checks for both unconfigured and configured states.

Impact: pins backend 0d55ebb, documents b4546fe.

Refs: feature/tavily-search-tool task card.
2026-09-30 11:00:16 +00:00
weichen 940e9bd871 Record the tavily-search task card 2026-09-30 10:59:59 +00:00
weichen 9a4f4b5002 Record the task card for feature-tavily-search-tool 2026-09-30 10:55:00 +00:00
weichen ba8317e136 Record the task card for feature-auth-admin-accounts 2026-09-30 10:53:50 +00:00
weichen b71ef3e9a8 Merge pull request 'Close the catalog-coverage task card (PR link + archive)' (#40) from feature/card-close-catcov into main
ci / test (push) Failing after 31s
2026-09-30 10:51:13 +00:00
weichen 953a426dab Close the catalog-coverage task card and archive it
ci / test (pull_request) Failing after 1m31s
Why: merged combo card needs its PR link backfilled and the card
archived per the no-bookkeeping-debt rule.

Evidence: Dev PR #38 merged; card carries the coverage test records.

Impact: card moved to .task/archive/ with the link filled; no code
change.
2026-09-30 10:50:49 +00:00
weichen 97099a5fd5 Merge pull request 'Pin the catalog-coverage combo (4 portable prompts + porting rule)' (#38) from feature/prompt-catalog-coverage into main
ci / test (push) Failing after 1m31s
2026-09-30 10:50:04 +00:00
weichen 6775d9d6cf Record the sync checkpoint
ci / test (pull_request) Failing after 17m16s
2026-09-30 10:49:21 +00:00
weichen b1af58bd78 Pin the catalog-coverage combo (4 more portable prompts + guide section)
Why: close the coverage gap against the user's take-everything-portable
bar and record the porting rule.

Evidence: backend 16 packages green at 44-module floor; documents guide
section 9 carries the full disposition table.

Impact: pins backend ed036cb, documents 60bb2ed.

Refs: feature/prompt-catalog-coverage task card.
2026-09-30 10:49:05 +00:00
weichen b4a632b27e Record the catalog-coverage task card 2026-09-30 10:48:38 +00:00
weichen 455e245d30 Record the task card for feature-prompt-catalog-coverage 2026-09-30 10:48:38 +00:00
weichen b35aeb14f8 Merge pull request 'Close the task-sidebar-r1 task card (PR link + archive)' (#39) from feature/card-close-20260930-104744Z into main
ci / test (push) Failing after 1m31s
2026-09-30 10:48:33 +00:00
weichen 52f2c7db56 Close 1 merged task card(s) and archive them
ci / test (pull_request) Failing after 1m35s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-task-sidebar-r1.md(PR#37) — 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 10:47:44 +00:00
weichen 075c187be2 Merge pull request 'Task-centric sidebar R1 (option A): gitlinks + task card' (#37) from feature/task-sidebar-r1 into main
ci / test (push) Failing after 1m58s
2026-09-30 10:46:46 +00:00
weichen 6cfdb89f21 Sync main before merge
ci / test (pull_request) Failing after 1m34s
2026-09-30 10:46:34 +00:00
weichen 8fcbd96c15 Advance documents pin to merged PR #17 head
ci / test (pull_request) Failing after 1m53s
2026-09-30 10:46:06 +00:00
weichen 6345f15ba3 Merge origin/main (prompt-library sync; submodules rebased) 2026-09-30 10:44:06 +00:00
weichen 81e4a3447a Merge pull request 'Backfill the prompt-library card PR link' (#36) from feature/card-close-prompt-lib into main
ci / test (push) Failing after 30s
2026-09-30 10:38:36 +00:00
weichen a3859091d7 Backfill the prompt-library card PR link (fix archive content)
ci / test (pull_request) Failing after 31s
Why: the previous close commit archived the card but the link edit
landed only in the working tree; the archived copy still had the
placeholder.

Evidence: Dev PR #34 merged as 5c95c5f.

Impact: one-line card fix; no code change.
2026-09-30 10:38:32 +00:00
weichen fd5f1960e7 Land the task-centric sidebar R1 across repos (gitlinks + task card)
Why: R1 implementation spans core (Conversation flags), backend
(migration v8, task list APIs, /api/me), frontend (TaskSidebar rebuild),
ui (contracts mirror), documents (proposal acceptance record); the Dev
repo advances the pointers and the task record.

Evidence:
- make test full suite green on this head (core+backend+frontend+ui+
  agent-command, exit 0) before advancing gitlinks.
- Headless walk on the built binary: cross-project task open, pinned-
  first ordering, archive hide/show/restore, new-task flow, account
  footer identity, zero console errors.

Impact: UI restructure per approved option A; no mid-column or inbox
changes (D25/D26/D31 intact). Merge order: core -> backend -> ui ->
frontend -> documents -> this PR.

Refs: proposal docs/proposals/2026-09-30-ui-redesign-and-auth.md (option A, R1)
2026-09-30 10:38:12 +00:00
weichen 685dea9af5 Merge pull request 'Close the prompt-library task card (PR link + archive)' (#35) from feature/card-close-prompt-lib into main
ci / test (push) Failing after 30s
2026-09-30 10:37:57 +00:00
weichen faa343b079 Close the prompt-library task card and archive it
ci / test (pull_request) Failing after 1m31s
Why: merged combo card needs its main-record PR link backfilled and the
card archived per the no-bookkeeping-debt rule.

Evidence: Dev PR #34 merged as 5c95c5f; card carries test and runtime
verification records.

Impact: .task/feature-prompt-library.md moved to .task/archive/ with the
PR link filled; no code change.
2026-09-30 10:37:49 +00:00
weichen 5c95c5f75f Merge pull request 'Pin the prompt-library combo: layered prompt data, trigger skills, observability' (#34) from feature/prompt-library into main
ci / test (push) Failing after 1m35s
2026-09-30 10:37:25 +00:00
weichen 8f019384cf Record the sync checkpoint
ci / test (pull_request) Failing after 1m33s
2026-09-30 10:37:01 +00:00