Seed settings with an auto-minted temporary key when auth is on (feature/svc-seed-auth) #371

Merged
weichen merged 14 commits from feature/svc-seed-auth into main 2026-10-11 15:37:29 +00:00
14 Commits
Author SHA1 Message Date
weichen d11059b672 Record post-sync verification before merge (third resync)
ci / test-pg (pull_request) Successful in 1m30s
ci / test (pull_request) Successful in 3m35s
Why: main gained the U5 ownership feature during the previous CI window; branch protection requires latest main in head.
Evidence: fresh make test receipt exit=0 on the resynced head.
Impact: card only.
Refs: feature/svc-seed-auth
2026-10-11 15:33:41 +00:00
weichen 052f2da336 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=5cbb38e788ab3050b8d9f23c21d98d2fd1587a31; candidate=089c41cd45feabcdc9b68ff2bce542cac71e3835.

Impact: task metadata only.

Refs: .task/feature-svc-seed-auth.md
2026-10-11 15:32:30 +00:00
weichen 089c41cd45 Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=5cbb38e788ab3050b8d9f23c21d98d2fd1587a31.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-11 15:32:07 +00:00
weichen 26c9116e56 Record post-sync verification before merge (second resync)
ci / test-pg (pull_request) Successful in 1m14s
ci / test (pull_request) Successful in 2m49s
Why: main advanced again during the CI cycle; branch protection requires latest main in head.
Evidence: fresh make test receipt exit=0 on the resynced head (3a1b16f7 sync base 0b53094).
Impact: card only.
Refs: feature/svc-seed-auth
2026-10-11 15:28:34 +00:00
weichen e78fdaaa65 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=0b53094b0d5a6699cccdbc7ca45e649f6bef477b; candidate=3a1b16f7d68ec25ce7009dfe13b3c9da33608301.

Impact: task metadata only.

Refs: .task/feature-svc-seed-auth.md
2026-10-11 15:27:12 +00:00
weichen 3a1b16f7d6 Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=0b53094b0d5a6699cccdbc7ca45e649f6bef477b.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-11 15:26:48 +00:00
weichen 35173b5265 Record post-sync verification before merge
ci / test-pg (pull_request) Successful in 1m29s
ci / test (pull_request) Successful in 3m34s
Why: main advanced after the first review cycle; branch protection requires the head to contain latest main with fresh gate evidence.
Evidence: fresh make test receipt exit=0 on the synced head.
Impact: card only.
Refs: feature/svc-seed-auth
2026-10-11 15:19:22 +00:00
weichen 02b4e585df Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=97002721485662c1e2abfa793f63d46f12cb14ce; candidate=851f2b0353f37ebfdcb466c90eb7ad407d7a0ce0.

Impact: task metadata only.

Refs: .task/feature-svc-seed-auth.md
2026-10-11 15:18:03 +00:00
weichen 851f2b0353 Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=97002721485662c1e2abfa793f63d46f12cb14ce.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-11 15:17:38 +00:00
weichen 0445f78321 Record post-sync verification on the final head
ci / test-pg (pull_request) Successful in 1m29s
ci / test (pull_request) Successful in 4m5s
Why: task-sync merged newer main (fefb3e06) after the last receipt; the gate requires evidence on the exact head proposed for merge.
Evidence: fresh make test receipt exit=0 appended by make evidence.
Impact: card only.
Refs: feature-svc-seed-auth
2026-10-11 15:00:36 +00:00
weichen f35a9f13f9 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=fefb3e060ec05cdadc6ee8bc55abff730fe79e21; candidate=ec93fef4b0ca99736f1e31f429b6cd7b9b934093.

Impact: task metadata only.

Refs: .task/feature-svc-seed-auth.md
2026-10-11 14:59:05 +00:00
weichen ec93fef4b0 Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=fefb3e060ec05cdadc6ee8bc55abff730fe79e21.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-11 14:58:38 +00:00
weichen 4b98e25687 Seed settings with an auto-minted temporary key when auth is on
Why: seed_settings PUTs /api/settings/user without credentials, so under the PG tier's always-on auth the seed always 401s and model config silently never lands (reproduced on the dev instance 2026-10-11; settings had to be written by hand).
Evidence: make test-governance && make test exit=0 (receipt 8ffc3a89); tests/test_svc.py adds three stub-based cases - auth-on seeds with a Bearer header and create/revoke around the PUT, --seed-owner skips account lookup, auth-off stays credential-free; 14/14 svc tests green.
Impact: deployments that pass SVC_MODEL_*/SVC_TAVILY_KEYS now seed reliably regardless of auth mode; a temporary apikey (name=svc-seed) is minted for the first admin (or --seed-owner/SVC_SEED_OWNER) and revoked right after; auth-off path unchanged.
Refs: task card feature-svc-seed-auth.
2026-10-11 14:58:36 +00:00
weichen 66756c4a51 Record the task card for feature-svc-seed-auth
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-svc-seed-auth.md; R0=f382544ec7829abec379b9d1bba04c4ddaac52b7.

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

Refs: .task/feature-svc-seed-auth.md
2026-10-11 14:53:03 +00:00