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

Evidence: fetched origin/main=e8d3e61a38e9690763ef46f272b2643604629cc4.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-15 23:10:05 +00:00
agent-exec-transport d3c28d5a53 agent-exec transport 5d95baf6a3f7402494208d156f6e6c51/ca161c464f9d 2026-10-15 20:48:14 +00:00
agent-exec-transport 253bce37aa agent-exec transport 35d469bccb3546fa95ccf1db49e5a7c2/79ece004c6be 2026-10-15 20:18:51 +00:00
agent-exec-transport 6b00f4f8b0 agent-exec transport b11015860dac4bb8a1943889211374b7/0dd2eb729ad2 2026-10-15 20:02:36 +00:00
weichen 93aba6ba95 Enforce complete normal CLI routing
Why: Emergency Codex fallback must not run before Cursor, Antigravity, and PI have each been exhausted.

Evidence: Cursor transport 5e6c93f765c232783a7dccb05544e26c386fb031; 29 config tests, focused emergency controller test, and 449 governance tests passed with 19 skips.

Impact: Emergency-mode implementation, repair, and test roles now require exactly one enabled profile for each normal adapter while preserving configured order.

Refs: .task/feature-agent-cli-enforcement.md
2026-10-15 19:52:47 +00:00
weichen 818e17f421 Remove host fallback and enforce strict normal routes
Why: The approved contract requires exactly three safe attempts for Cursor, agy, and PI, then one Codex emergency attempt, never host implementation authority.

Evidence: Routing/config tests were RED for never, max attempts, forbidden adapters, and legacy host fallback; 133 related tests now pass with one opt-in probe skipped.

Impact: Normal emergency-mode roles reject all non-Cursor/agy/PI adapters, project fallback is never, and Codex remains available through emergency/review paths.

Refs: independent Codex review of feature/agent-cli-enforcement
2026-10-15 18:45:08 +00:00
weichen 28f000af8b Sign execution history for transport admission
Why: Success-shaped receipts and caller-writable history must not authorize apply/admit without controller-originated provenance.

Evidence: Fabricated, unsigned, tampered-history, and moved-ref tests were RED before HMAC binding; 52 controller/history/admission tests now pass.

Impact: Stores a local 0600 attestation key, signs successful history including transport commit SHA, and verifies it before apply/admit.

Refs: independent Codex review of feature/agent-cli-enforcement
2026-10-15 18:13:01 +00:00
weichen d37111f85f Merge current main into renderer delivery work
Why: Resume the long-running two-tree and renderer task on the current Dev baseline without dropping project context, audit, human-decision, layered-environment, plugin or service changes.

Evidence: Backend merge 92f9286 preserves both lines and passes full vet/test/build plus isolated PostgreSQL migration tests; Documents merge c313639 is conflict-free; tests.test_svc passes 23 cases.

Impact: Resolves Backend/Documents gitlinks and the svc fixture, adopts current Core/Frontend/UI pins, and leaves Task 10 implementation separate.

Refs: task-sync for feature/rdm-two-trees-latest-templates
2026-10-15 18:01:15 +00:00
weichen 16fb93a300 Fail stop unsafe worker outcomes and preserve rename sources
Why: Safe routing must not retry unproven cleanup, ignore worker fail-stop terminals, or lose out-of-scope rename sources.

Evidence: New tests were RED for each Review finding; 44 controller and admission tests now pass with diff-check clean.

Impact: Tightens safety classification and path inventory only; routing order and provenance contract remain unchanged.

Refs: independent Codex review of feature/agent-cli-enforcement
2026-10-15 17:55:15 +00:00
weichen 11973f5244 Require CLI provenance without constraining agent reasoning
Why: Agents must use configured CLIs for implementation and testing, while remaining free to inspect, plan, test, and iterate within bounded scope.

Evidence: Task-card contract tests and the full 430-test governance discovery pass with 19 existing skips; diff-check passes.

Impact: Defines three safe attempts per normal CLI, one emergency Codex attempt, fail-stop terminals, and mandatory apply/admit integration.

Refs: feature/agent-cli-enforcement
2026-10-15 17:24:58 +00:00
weichen 8b30353c4d Enforce execution-agent provenance at integration
Why: Implementation changes must be mechanically tied to a successful CLI transport instead of relying on agents to follow prose.

Evidence: Admission tests went RED without apply/admit; 10 admission, 41 agent-exec, and 62 task tests now pass with exact staged-content matching.

Impact: Adds validated transport fast-forwarding and rejects unproven implementation commits while exempting task cards and approved plan/spec paths.

Refs: feature/agent-cli-enforcement
2026-10-15 17:13:05 +00:00
weichen d54306b65e Harden Codex emergency profile configuration
Why: Normal execution roles must exclude Codex while a single enabled Codex adapter remains available for emergency routing and review.

Evidence: Parser invalid-case tests were RED before validation; all 17 config tests and agent_exec validate now pass.

Impact: Enables three attempts per normal profile, stable Cursor routing, and a validated emergency Codex profile.

Refs: feature/agent-cli-enforcement
2026-10-15 16:45:14 +00:00
weichen 71fd4486f5 Route exhausted work through emergency Codex
Why: Codex CLI is permitted only after every normal execution profile exhausts three safe attempts, with no host implementation fallback.

Evidence: The emergency RED test lacked the fourth Codex attempt before implementation; 32 controller/history executions now pass.

Impact: Adds one emergency attempt for implementation, repair, and test roles while preserving fail-stop statuses and review isolation.

Refs: feature/agent-cli-enforcement
2026-10-15 16:36:50 +00:00
weichen 09ca1c6ebe Retry recoverable execution profiles
Why: Each non-Codex execution profile must receive three safe attempts before routing advances.

Evidence: The focused RED test observed one retryme launch before implementation; the controller and history suites now pass 31 executions.

Impact: Retries only unavailable and failed-clean outcomes; existing fail-stop statuses remain immediate.

Refs: feature/agent-cli-enforcement
2026-10-15 16:23:06 +00:00
weichen dd3140b391 Add execution retry and emergency profile settings
Why: Routing needs an explicit per-profile attempt limit and a named Codex emergency profile before controller enforcement can be implemented.

Evidence: The new parser test failed on unknown keys before implementation; all 15 config test executions now pass and git diff --check is clean.

Impact: Adds backward-compatible optional configuration fields only; routing behavior is unchanged in this commit.

Refs: feature/agent-cli-enforcement
2026-10-15 15:22:51 +00:00
weichenandCursor 9c7fa2730e Keep service start from downloading the Python base layer
ci / svc-realcombo (pull_request) Successful in 2m2s
ci / test (pull_request) Successful in 5m49s
ci / test-pg (pull_request) Successful in 8m54s
Why: env ensure downloads an interpreter and wheels. The real-combination start test allows 120 seconds, and that download made rc1 start time out.
Evidence: CI job 5184 timed out in test_U3_real_agent_identity_lifecycle_sqlite on scripts/svc.sh rc1 start.
Impact: Start only mounts a base layer that already exists. The first build is an explicit env ensure, run outside start.
Refs: Agent-System-Dev pull 570
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 14:14:48 +00:00
weichenandCursor 3d6de0c4ac Wire the layered Python environment into service startup
Why: The dependency layer already existed in the backend, but service startup never passed it, so the sandbox could not import the packages the host already had.
Evidence: SELF go tests recorded on the backend commit. svc.sh only exports the env root after env ensure leaves a current base layer, and a failed download does not block startup.
Impact: Instances share runtime/envs. Existing exec= lines are left as stored. Proposal, backend, and frontend gitlinks move to this branch.
Refs: .task/feature-layered-python-env.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 13:53:00 +00:00
weichen 6b2173b9dc Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=dc86a023605d00fccca1b9679b4cdad96373bdee.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-15 10:33:58 +00:00
weichenandCursor 265bcdcbba Warn when a seeded model key does not become active
Why: Settings plaintext loses to secret_keys, so replacing the env key did not change the key a conversation actually sent.
Evidence: python3 -m unittest tests.test_svc.SvcDbRecoveryTests.test_seed_replaces_old_system_secret tests.test_svc.SvcDbRecoveryTests.test_seed_warns_when_old_secret_stays_active tests.test_svc.SvcDbRecoveryTests.test_seed_puts_without_credentials_when_auth_off (SELF).
Impact: Embedded databases now compare the active system secret fingerprint after seeding, and the backend gitlink carries the adoption fix.
Refs: fix/model-key-secret-overlay
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 10:33:28 +00:00
weichen 29e7cf185e Make transport commits independent of Git identity
ci / svc-realcombo (pull_request) Successful in 2m1s
ci / test (pull_request) Failing after 3m50s
ci / test-pg (pull_request) Successful in 7m56s
Why: PR #567 CI runs without a global Git user identity, causing every successful agent transport commit to fail with exit 128.

Evidence: The focused no-identity regression plus AgentExecControllerTests and AgentExecHistoryTests pass (30 executions total); git diff --check passes.

Impact: Supplies a deterministic non-secret identity only to git commit-tree; routing, receipts, and transport validation are unchanged.

Refs: #567
2026-10-15 08:59:17 +00:00
weichen 5d7f6c79af Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=919f75cf7b39ca357e212a08a0ba5ba3d9a79b51.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-15 08:21:50 +00:00
weichen b45c6abaa7 Record execution agent history
Why: retain which CLI handled each task so routing can improve from real outcomes over time

Evidence: AgentExecHistoryTests and git diff --check

Impact: appends sanitized source-external JSONL records without changing run outcomes

Refs: feature/goal-first-delivery
2026-10-15 07:41:51 +00:00
weichen 8c98635dfd Route project work through Cursor agy and PI
Why: make the three approved CLIs the only active implementation and test routes

Evidence: adapter unit tests, configuration validation, diff check, and real marker probes for all three profiles

Impact: narrows project routing and fixes agy prompt binding for noninteractive execution

Refs: feature/goal-first-delivery
2026-10-15 06:48:06 +00:00
weichen f93ef567c7 Isolate execution agents from shared Git refs
Why: prevent unrelated sibling worktree delivery from invalidating otherwise safe agent attempts
Evidence: 58 focused tests, configuration validation, governance regression, and diff check
Impact: uses private shared clones and copies only host-owned transport refs back to canonical Git
Refs: U5 runtime acceptance; docs/superpowers/plans/2026-10-15-project-agent-execution.md
2026-10-15 06:19:10 +00:00
weichenandCursor 196d6f3cfd Merge authoritative main into the task branch
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=692735e91d6a9ab07ddd3686feb60a56b270728a.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 05:55:51 +00:00
weichen 8c1649b232 Stop stalled execution agents on idle timeout
Why: prevent silent provider stalls from consuming the full execution timeout

Evidence: 57 focused tests, configuration validation, 401-test governance regression, and diff check

Impact: adds backward-compatible idle_timeout_seconds and fail-stop process supervision

Refs: U5 runtime acceptance; docs/superpowers/plans/2026-10-15-project-agent-execution.md
2026-10-15 05:41:37 +00:00
weichen 0f4c5c017d Route project work through configured agents
Why: replace fixed Cursor execution authority with project-configured agent routing
Evidence: focused task-card contract, agent-exec validation, governance regression, and diff check
Impact: updates project policy, task templates, capability records, and current task metadata
Refs: U4; docs/superpowers/plans/2026-10-15-project-agent-execution.md
2026-10-15 05:03:14 +00:00
weichen 8f11d002ae Add recoverable execution agent controller
Why: provide isolated, recoverable per-unit CLI execution and safe host fallback
Evidence: 43 focused tests, configuration validation, governance regression, and diff check
Impact: adds agent-exec validate/run controller, receipts, transports, and Make entrypoint
Refs: U3; docs/superpowers/plans/2026-10-15-project-agent-execution.md
2026-10-15 04:46:25 +00:00
weichenandCursor 8e5b44bc2c Seed the four-model setup on later service starts
Why: The dev service is an rdm build, so startup skipped model seeding and kept the old MiniMax chat model. Later starts need the saved env file applied even without an admin key command.

Evidence: seed and rdm launcher tests passed. The live dev database now uses the four-model chat route and keeps the original MiniMax endpoint as reserve.

Impact: Restart of a service with envfile set rewrites system model settings. HTTP seeding is unchanged for builds that can mint an admin key. MiniMax is stored separately because fallbacks cannot switch gateways.

Refs: .task/feature-four-model-vision.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 04:14:22 +00:00
weichen 92330a225f Add execution CLI adapter registry
Why: Hide provider-specific noninteractive, model, permission, workspace, prompt, and output differences behind one adapter seam.

Evidence: Cursor observed red then 22 green config/adapter tests; the host replays them and whitespace checks during integration.

Impact: Adds deterministic direct-argv adapters and probes without launching providers or enabling project routing.

Refs: docs/superpowers/plans/2026-10-15-project-agent-execution.md
2026-10-15 02:55:14 +00:00
weichen bdad8ffc91 Add project execution agent configuration
Why: Establish one validated project-local routing document before any real Agent execution is enabled.

Evidence: Cursor observed red then 12 green configuration tests; the host replays those tests, the temporary validation target, and whitespace checks during integration.

Impact: Adds the U1 configuration contract and parser only; real routing, adapters, controller execution, and governance adoption remain disabled.

Refs: docs/superpowers/plans/2026-10-15-project-agent-execution.md
2026-10-15 02:17:29 +00:00
weichenandCursor 1a5afe219d Point the service at four-model vision routing
Why: Chat, lightweight, fallback and vision settings need a seed path, and the backend now sends current-turn images only to models declared capable of seeing them.

Evidence: The backend change is cfde38d. The seed test covers fallback and vision settings. A local image conversation on each builtin profile returned the pictured content from the expected model, and removing the chat model from the capable list switched that turn to the vision model.

Impact: New runs can use the four builtin profiles and image input. Secrets stay in the ignored env file. The live 8788 process is unchanged.

Refs: .task/feature-four-model-vision.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 17:51:29 +00:00
weichen d79d6c17e9 Require Cursor for every implementation unit
Why: Ensure implementation authorship is delegated per unit while the primary model remains responsible for planning and delivery management.

Evidence: The focused task-card generation regression went red then green, and git diff --check passed.

Impact: Every repository-writing implementation unit gets a fresh Cursor CLI run; unavailable or failed Cursor work is recorded as a blocker instead of being silently implemented by the primary model.

Refs: .task/feature-goal-first-delivery.md
2026-10-14 17:10:20 +00:00
weichen 90265ac670 Prioritize task goals and usable delivery
Why: Keep authorized work focused on its stated outcome, prevent private scope expansion, and remove mechanical human stage gates.

Evidence: make test-governance passed 344 tests with 18 environment-dependent skips; receipt is recorded in the task card.

Impact: New tasks use goal-first execution while retaining real decision points, independent review, evidence, platform admission, and high-consequence dual keys.

Refs: .task/feature-goal-first-delivery.md
2026-10-14 16:55:04 +00:00
weichenandCursor 1cf2f533f7 Compile selected plugins into the svc deploy binary
Why: deploy needs to choose registered plugins and ship them inside one agent-system, then refuse the release when they are not active.
Evidence: python3 -m unittest tests.test_svc_plugins tests.test_svc_user_help tests.test_svc tests.test_svc_u2 (SELF, 63 passed, 1 skipped). Real compose build and make test-lifecycle are NOT_RUN.
Impact: --with is mutually exclusive with --from rdm and --from release. Existing non-interactive deploys stay without plugins unless plugins= is already recorded. Changing the plugin id set on a live service requires --allow-source-switch.
Refs: .task/feature-svc-plugin-compose.md modules/documents/docs/proposals/2026-10-14-svc-plugin-compose-deploy.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 16:08:13 +00:00
weichen 7f9ff2b3a8 Merge current main with both Documents histories preserved
Why: The authoritative target advanced while this task recorded approved source and risk requirements.

Evidence: Documents HEAD merges both the task branch and incoming 46506aec34a8803d1b7f4de1a048de9dba591da2 pin; the staged superproject diff has no whitespace errors.

Impact: Include upstream task cards, Backend pin, governance changes, and this task Documents branch without rewriting approved records.

Refs: task-sync; stage 4 work observation review
2026-10-14 15:03:23 +00:00
weichen 9af831cd39 Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=11aa76a3bc1c5047791f9a2de154e451634b6567.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-14 08:23:37 +00:00
weichen f4eeba1733 Detect squash-merged PRs when closing task cards
Why: card_merge only recognized "Merge ... from <branch> into main"
merge commits, so a PR landed as a squash (real case: #457) left its
task card in .task/ forever; task-close reported nothing to close and
precheck showed no debt. Closing required a manual backfill (PR #541).

Evidence: card_merge now returns sha|subject|pr and falls back to a
Gitea API lookup by head ref or label (deleted branches keep the
original name only in label), gated by merge_commit_sha ancestry in
origin/main; precheck [cards] reuses card_merge so both surfaces agree.
Live probe against production Gitea returns 226a4af15791|Reset
per-service runtime state in svc.sh env_config|457 for
feature/svc-pidcheck-leak; stub-server tests cover squash landing,
decoy skip and the not-on-main refusal; full governance suite follows
in-card evidence.

Impact: scripts/task.sh close and precheck detect squash-merged cards
when GITEA_TOKEN is set (merge-commit path unchanged without token);
tests/test_task.py adds two regressions; no protocol change for
existing merge-commit closures beyond the appended pr field.

Refs: card-merge-misses-squash-merges (memory); PR #541 manual closure.
2026-10-14 07:53:52 +00:00
weichen 3b0e100fba Fix facts registry commands and make precheck parsing escape-aware
ci / svc-realcombo (pull_request) Successful in 1m59s
ci / test (pull_request) Successful in 5m13s
ci / test-pg (pull_request) Successful in 8m6s
Why: F2 token extraction predates the two-section (HOME/IMC) layout of
~/.secrets/gitea so it concatenated both tokens and always failed; F6
registered a grep BRE alternation that facts-verify unescapes into a
literal pipe, failing re-verification and misaligning precheck's naive
pipe split into a spurious F6 date-format expiry warning, while both
underlying facts still hold.

Evidence: make facts-verify now 6/6 PASS with last_verified refreshed
to 2026-10-14; new regression test for escaped pipes in facts rows;
full governance suite 342 tests OK (18 skipped); precheck [facts] line
reports all facts fresh on the fixed parser.

Impact: policy/facts.md F2 (HOME-section awk extraction) and F6
(negated pipe-free grep); scripts/task.sh precheck neutralizes escaped
pipes the same way facts-verify does; tests/test_task.py covers it.

Refs: precheck WARN 过期事实 F6(日期格式); AGENTS.md 证据与验证门禁.
2026-10-14 06:13:51 +00:00
weichen deff43ae59 Close trial task cards and keep long histories visible
Why: pipefail treated a recent merged-card match as a failed git log after grep exited early, hiding completed cards from precheck and task-close.

Evidence: A disposable long-history regression failed before the fix and passed after it; make test-governance passed 341 cases. Git history confirms PR #489/#488/#486 merge SHAs.

Impact: Detect merged cards reliably and archive only the three authorized trial cards; four unrelated eligible cards remain untouched.

Refs: Dev merge queue #518; Dev #489, #488, #486
2026-10-14 04:50:06 +00:00
weichen 38ef548637 Harden DHF catalog provenance and review checks
Why: Catalog identity and publication metadata need mechanical checks without implying full asset approval.

Evidence: 16 focused tests and independent scoped review passed; authoritative RDM and human review remain pending.

Impact: Reject symlinked source/package paths, identity drift, invalid reviewer metadata, and incomplete converter provenance.

Refs: feature/rdm-two-trees-latest-templates W0
2026-10-14 04:37:05 +00:00
weichen 3262459886 Guard DHF catalog provenance and publication status
Why: Keep 44 immutable source identities distinct from reviewed, publishable template versions.

Evidence: SELF TDD red/green cases, eight focused tests, and live 44-source inventory reconciliation.

Impact: Add a read-only catalog checker; no template, service, or database state changes.

Refs: TT-T01 TT-T02; stage5 W0
2026-10-14 04:14:07 +00:00
weichen a70de2c54a Validate export delivery in the controlled integration window
ci / svc-realcombo (pull_request) Successful in 1m54s
ci / test (pull_request) Successful in 5m12s
ci / test-pg (pull_request) Successful in 8m42s
Why: Finish Dev #488 with delivered Frontend and RDM objects, explicit audit grants in private browser fixtures, and owned process cleanup.

Evidence: Tool-imported SELF precheck, final sync, make test, and real-browser runs retain failures and passes; latest isolated runtime completed seven browser cases. Final exact-head GATE and independent parent Review follow.

Impact: Preserves other main components and existing CI jobs while the one final candidate is fixed for formal checks.

Refs: Dev PR #488; Frontend PR #73; RDM PR #301; queue Issue #518
2026-10-14 03:35:17 +00:00
weichen 3e39e8fcdb Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=f00165e8d71e4dc8ba0ceb7dc50c1a8a3deb6d60.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-14 03:21:51 +00:00
weichen cca59c88dd Reject rewritten target history during local task recovery
Why: A LOCAL_READY receipt must permit normal target advancement without accepting a rewind or divergent target history after its observation.

Evidence: Two disposable real Git regressions reproduced erroneous successful recovery before the guard; all 18 task recovery tests pass afterward. Raw SELF receipts are in the task card.

Impact: Reject abnormal target ancestry before receipt import; preserve normal local recovery and strict delivery defaults. Correct stale implementation-stage documentation without activating the queue.

Refs: Documents implementation plan ba4044d U2; independent review R1 and R2; .task/feature-merge-queue-policy-draft.md
2026-10-13 08:44:02 +00:00
weichen 4629b871db Connect delivery windows and recovery to the repository rules
Why: agents need consistent entrypoints and recording defaults to avoid retrying synchronization and CI outside the final delivery window.

Evidence: SELF generated-task-card red-green regression and governance suite recorded through make evidence; pending shared record created as Issue #518.

Impact: rules, task template and capability matrix stay explicit about pending activation, default strict startup, manual coordination and unchanged CI triggers.

Refs: U4; policy/merge-queue.md; .task/feature-merge-queue-policy-draft.md
2026-10-13 08:21:46 +00:00
weichen eb46bbb296 Separate local task recovery from delivery readiness
Why: an existing authorized task should not merge a moving target merely to resume local work, while new task startup and delivery remain strict.

Evidence: SELF red-green recovery and environment regressions; task, recovery, evidence and local-mode write-guard suites passed through make evidence.

Impact: add explicit LOCAL_READY and task-resume, validate worktree/card/baseline and receipt purpose, preserve schema 1 and prevent local receipts from starting or releasing tasks.

Refs: U2; policy/merge-queue.md; .task/feature-merge-queue-policy-draft.md
2026-10-13 07:42:12 +00:00
weichen 03cbeac8e6 Avoid new commits when the task already contains the integration baseline
Why: repeated task-sync calls changed HEAD and invalidated CI even when main had not advanced.

Evidence: SELF red-green regression and 58 task lifecycle tests recorded through make evidence in the task card.

Impact: sync still fetches and validates components, creates records only for an actual merge, and reports the complete final source SHA.

Refs: U1; policy/merge-queue.md; .task/feature-merge-queue-policy-draft.md
2026-10-13 07:05:06 +00:00
weichen 68cb9eb76e Merge origin/main into feature/rdm-increment-settings-duties 2026-10-13 05:20:58 +00:00
weichen e35b210dbf Seed via system settings and fix multi-instance mock toggle
ci / test (pull_request) Successful in 5m25s
ci / svc-realcombo (pull_request) Successful in 2m30s
ci / test-pg (pull_request) Failing after 2m27s
Why: P2 受管落地后的两处消费面适配——svc 播种内容(models/tavily)全为系统受管项须走系统管理面;两进程验收的 runtime.mock 开关同理由 user 层迁至系统面(无认证档本机即管理员)。
Evidence: bash -n 通过;受管拦截与系统面行为由 Backend PR #188 测试覆盖(已合入 76c75ce5);multi-instance 于 CI test-pg 档验证。
Impact: svc 认证档播种改为仅 admin(无管理员明确跳过);验收脚本断言语义不变。
Refs: modules/documents/docs/proposals/2026-10-13-rdm-settings-members-duties-perms-increment.md P2
2026-10-13 04:46:53 +00:00