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

Evidence: fetched origin/main=3e5416a8226c2dfdd108d6282566639c2ed41f1e.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-13 06:05:29 +00:00
weichen be1f2b98f8 Draft the final verification and merge scheduling policy
Why: prepare a reviewable delivery window and migration contract that reduces repeated synchronization while preserving final CI and approval requirements.

Evidence: SELF precheck, document checks and read-only platform observations are preserved in .task/feature-merge-queue-policy-draft.md; runtime queue and platform trials remain NOT_RUN.

Impact: proposed policy, project entry and task record only; scripts, workflow, platform protection and guideline gitlink are not changed by this draft.

Refs: policy/merge-queue.md; .task/feature-merge-queue-policy-draft.md
2026-10-13 06:05:13 +00:00
weichen 3e5416a822 Merge pull request 'Record RDM increment plan approval and task card stages 1-5' (#502) from feature/rdm-increment-settings-duties into main
ci / svc-realcombo (push) Successful in 1m41s
ci / test (push) Successful in 4m46s
ci / test-pg (push) Successful in 7m46s
2026-10-13 05:54:10 +00:00
weichen e12bccbb3f Merge origin/main into feature/rdm-increment-settings-duties
ci / svc-realcombo (pull_request) Successful in 1m45s
ci / test (pull_request) Successful in 4m45s
ci / test-pg (pull_request) Successful in 7m28s
2026-10-13 05:42:54 +00:00
weichen 4e7bf52a7a Record the task card for feature-merge-queue-policy-draft
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-merge-queue-policy-draft.md; R0=05085d9a08f2e34d65712434894144d010203d8a.

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

Refs: .task/feature-merge-queue-policy-draft.md
2026-10-13 05:42:12 +00:00
weichen 2df1a58fac Record post-sync test evidence on task card
ci / svc-realcombo (pull_request) Successful in 1m54s
ci / test (pull_request) Successful in 4m50s
ci / test-pg (pull_request) Successful in 7m49s
2026-10-13 05:30:49 +00:00
weichen 05085d9a08 Merge pull request 'Close the merged login recovery task card' (#510) from feature/card-close-20261013-052211Z into main
ci / svc-realcombo (push) Successful in 1m58s
ci / test (push) Successful in 4m51s
ci / test-pg (push) Successful in 7m56s
2026-10-13 05:30:27 +00:00
weichen a5b420f039 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=f254f4adc6712fb2c2b1549c8c1f53398cd89d41; candidate=0b32c75064cddbb67ab458cdafbf16810aa603fb.

Impact: task metadata only.

Refs: .task/feature-rdm-increment-settings-duties.md
2026-10-13 05:22:31 +00:00
weichen 8759b53f26 Close 1 merged task card(s) and archive them
ci / svc-realcombo (pull_request) Successful in 1m54s
ci / test (pull_request) Successful in 5m3s
ci / test-pg (pull_request) Successful in 7m54s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-svc-login-recovery-flow.md(PR#504) — 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-13 05:22:11 +00:00
weichen 0b32c75064 Merge origin/main, keep main-side mock comment in multi-instance test 2026-10-13 05:21:40 +00:00
weichen f254f4adc6 Merge pull request 'Wire login recovery follow-up: SSE close, browser e2e, proposal r3' (#508) from feature/svc-login-recovery-followup into main
ci / svc-realcombo (push) Successful in 1m47s
ci / test (push) Successful in 4m53s
ci / test-pg (push) Successful in 8m3s
2026-10-13 05:21:22 +00:00
weichen 68cb9eb76e Merge origin/main into feature/rdm-increment-settings-duties 2026-10-13 05:20:58 +00:00
weichen 396b89836a Adapt multi-instance acceptance to system-managed mock
ci / svc-realcombo (pull_request) Successful in 2m7s
ci / test-pg (pull_request) Successful in 2m59s
ci / test (pull_request) Successful in 4m57s
Why: P2 受管把 runtime.mock 收进系统层——Backend #190 让 --mock 播种系统层(对全部租户生效),两进程验收随之简化:去掉逐租户显式开启,backend pin 前进到 741da4a。
Evidence: 本地真实 PG(容器)+ AGENT_BIN 跑 make test-multi-instance 全绿(15.3s);此前 --mock 经 user 层写入被受管拦截导致实例无法启动的根因已由 Backend #190 修复并复验。
Impact: 测试文件与 gitlink;无产品代码变更。
Refs: 提案 r1 P2;Backend PR #188/#190
2026-10-13 05:14:44 +00:00
weichen c2f794f485 Merge origin/main into the follow-up branch
ci / svc-realcombo (pull_request) Successful in 1m49s
ci / test (pull_request) Successful in 5m7s
ci / test-pg (pull_request) Successful in 8m10s
2026-10-13 05:12:21 +00:00
weichen 351c77924b Merge pull request 'Archive the merged D3 real-scenario task card' (#509) from feature/card-close-svc-d3-real-scenarios into main
ci / svc-realcombo (push) Successful in 1m51s
ci / test (push) Successful in 5m4s
ci / test-pg (push) Successful in 8m20s
Why: the D3 real-scenario card is merged and must leave the open set.
Evidence: CI on aa5d0512bf35d1a860dea2a44b98bddcd8e2364e; ci/test, ci/test-pg, ci/svc-realcombo success.
Impact: archives only this card. Login and rdm.ping stay NOT_RUN.
Refs: .task/archive/feature-svc-d3-real-scenarios.md
2026-10-13 05:11:35 +00:00
weichen 1335c20101 Open system mock via admin session in multi-instance test
ci / svc-realcombo (pull_request) Successful in 1m52s
ci / test-pg (pull_request) Failing after 2m24s
ci / test (pull_request) Successful in 4m55s
Why: P2 受管后 runtime.mock 只能由管理员经系统面写入;--auth on 环境下 alice 普通租户 403,改由一次性管理员会话开启(对全部租户生效),alice 语义不变。
Evidence: 手动启动实例二进制健康(serve --auth on 正常运行);受管拦截与系统面行为由 Backend #188 用例覆盖;本修复走 CI test-pg 裁决(本地首跑该 suite 存在环境性启动差异,与本改动无关——改动仅涉及 startPair 之后的登录阶段)。
Impact: 测试新增 mi_boss 管理员账号与 enableMockViaSystemAdmin 流程。
Refs: 提案 r1 P2;Backend PR #188
2026-10-13 05:07:01 +00:00
weichen c4a1bb6cfc Merge origin/main into the follow-up branch
ci / test-pg (pull_request) Successful in 8m11s
ci / svc-realcombo (pull_request) Successful in 1m53s
ci / test (pull_request) Successful in 4m55s
2026-10-13 04:58:17 +00:00
weichenandCursor aa5d0512bf Archive the merged D3 real-scenario task card
ci / svc-realcombo (pull_request) Successful in 2m6s
ci / test (pull_request) Successful in 5m4s
ci / test-pg (pull_request) Successful in 8m18s
Why: the branch is on main, so this card must leave the open set without closing unrelated cards.
Evidence: merge 719bfe945f46d43a22d7ac7025d2313faa4bf0e4; CI run 2853 success on 424892258b.
Impact: task metadata only. Login and rdm.ping stay NOT_RUN.
Refs: .task/archive/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 04:57:50 +00:00
weichen 719bfe945f Merge pull request 'Cover the runnable D3 scenarios with real artifacts' (#503) from feature/svc-d3-real-scenarios into main
ci / svc-realcombo (push) Successful in 1m55s
ci / test (push) Successful in 5m14s
ci / test-pg (push) Successful in 8m32s
Why: the runnable D3 scenarios now execute against real RDM artifacts.
Evidence: CI run on 424892258b19a8bdd1c9dd430d89334ea0cafa78; ci/test, ci/test-pg, ci/svc-realcombo success.
Impact: login and rdm.ping stay NOT_RUN.
Refs: .task/feature-svc-d3-real-scenarios.md
2026-10-13 04:56:48 +00:00
weichen 7518cdeb7d Align the core pin with backend's nested agent-system-core pin
ci / svc-realcombo (pull_request) Successful in 1m45s
ci / test-pg (pull_request) Successful in 2m39s
ci / test (pull_request) Successful in 4m47s
Why: check-pins failed on the follow-up CI: the newly pinned backend
(741da4a) carries deps/agent-system-core at 0f94e4b while Dev's
modules/core stayed at ba289e7 - the three-layer pin rule requires the
top-level core pin to match.

Evidence: 0f94e4b verified as an ancestor of Core origin/main; this
PR's composite CI re-runs check-pins (GATE).

Impact: modules/core gitlink to 0f94e4b; no source changes.

Refs: check-pins failure on job 4204.
2026-10-13 04:52:42 +00:00
weichen 3092f6cc4a Merge origin/main into the follow-up branch 2026-10-13 04:52:42 +00:00
weichen ecf310fcf1 Fix multi-instance seeding for system-managed settings and repin backend
ci / svc-realcombo (pull_request) Successful in 2m22s
ci / test-pg (pull_request) Successful in 3m16s
ci / test (pull_request) Failing after 3m49s
Why: The follow-up CI exposed that backend #188 broke the Dev
multi-instance suite: serve --mock seeded runtime.mock at the user
scope, which system-managed settings now reject, so instances never
became healthy. Backend #190 seeds the startup flag into the system
scope; this PR repins and drops the now-invalid alice user-scope write.

Evidence: Backend #190 CI success at head 0af1ebc (GATE); this PR's
composite CI re-runs make test-multi-instance (GATE for the fix).

Impact: backend pin 741da4a; multi-instance test comments updated to
the system-managed regime.

Refs: Backend #188, #190.
2026-10-13 04:47:23 +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
weichen 424892258b Record the sync checkpoint
ci / test-pg (pull_request) Successful in 8m27s
ci / svc-realcombo (pull_request) Successful in 2m29s
ci / test (pull_request) Successful in 5m34s
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=6fd51fec9fed2a95f51420d2c1a8bd5d82db2ae6; candidate=4ba2aff7d7dd71606851a23d229dd5b5241e7b7b.

Impact: task metadata only.

Refs: .task/feature-svc-d3-real-scenarios.md
2026-10-13 04:46:18 +00:00
weichen 4ba2aff7d7 Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=6fd51fec9fed2a95f51420d2c1a8bd5d82db2ae6.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-13 04:45:51 +00:00
weichen 6fd51fec9f Merge pull request 'Record the merge result on the archived release-specs card' (#507) from feature/card-close-u7-release-roadmap-record into main
ci / test (push) Successful in 5m0s
ci / svc-realcombo (push) Successful in 1m59s
ci / test-pg (push) Successful in 2m53s
2026-10-13 04:42:01 +00:00
weichen 15861a0713 Wire login recovery follow-up: SSE close, browser e2e, proposal r3
ci / svc-realcombo (pull_request) Successful in 1m57s
ci / test-pg (pull_request) Failing after 2m29s
ci / test (pull_request) Failing after 3m32s
Why: The completion audit flagged four gaps over the merged login
recovery implementation: real-browser acceptance, the login-key e2e
spec, SSE stream invalidation, and the Documents write-back.

Evidence: Browser acceptance receipts be7ae9a2/b3a9e691 (SELF, bound to
Dev HEAD 268ef29); Backend #189 CI success at head 8b73afe (GATE);
Documents #94 merged; this PR's composite CI is the GATE for frontend
pin 44b9646.

Impact: Pins backend=349a47d (SSE close) and frontend=44b9646 (e2e
spec); contract doc leftovers updated; task card carries the follow-up
record for closure.

Refs: docs/svc-deploy/2026-10-13-login-recovery-contract.md; Documents
proposal r3; Backend #189; Frontend #77.
2026-10-13 04:38:16 +00:00
weichenandCursor 4ec59ac46a Record the merge result on the archived release-specs card
ci / svc-realcombo (pull_request) Successful in 2m22s
ci / test-pg (pull_request) Successful in 3m30s
ci / test (pull_request) Successful in 5m22s
Why: The merge record was committed after PR 501 merged, so the closeout archived the card without it.
Evidence: The two lines match commit 2771196 on the task branch. Run 2832 on head 72763c9 passed, and merge d40d1c2 has the same tree.
Impact: Archived task card text only. Second-instance writes stay closed.
Refs: .task/archive/feature-u7-release-roadmap.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 04:34:41 +00:00
weichen 4ad5b3cabe Merge pull request 'Close the merged U7 release-specs task card' (#506) from feature/card-close-u7-release-roadmap into main
ci / svc-realcombo (push) Successful in 2m32s
ci / test-pg (push) Successful in 3m15s
ci / test (push) Successful in 5m25s
2026-10-13 04:34:04 +00:00
weichen 70304498c3 Point core pin at merged main commit 0f94e4b0
ci / test-pg (pull_request) Failing after 2m44s
ci / test (pull_request) Successful in 5m30s
ci / svc-realcombo (pull_request) Successful in 2m19s
Why: 前一提交因本地缺 fetch 把 core gitlink 记成了分支头 aced665;Core main 的服务端合入提交是 0f94e4b0。
2026-10-13 04:30:23 +00:00
weichen 6aedcfac4b Bump backend and core pins to merged main
ci / test-pg (pull_request) Failing after 2m41s
ci / test (pull_request) Successful in 5m32s
ci / svc-realcombo (pull_request) Successful in 2m21s
Why: P2 组合 bump——Core 0f94e4b0(受管作用域契约)与 Backend 76c75ce5(受管拦截/系统设置 API/播种迁移)均已合入各仓 main。
Evidence: Backend CI(PR #188,rerun 后全绿)与本地 GOWORK=off go test 全绿;Core go test 全绿。
Impact: 仅 gitlink;Dev 组合 CI 将在 PR 上验证。
Refs: Agent-System-Documents PR #93 提案 r1 P2
2026-10-13 04:30:06 +00:00
weichenandCursor 154089544b Close the merged U7 release-specs task card
ci / svc-realcombo (pull_request) Successful in 2m21s
ci / test-pg (pull_request) Successful in 3m25s
ci / test (pull_request) Successful in 5m57s
Why: The specs branch merged, but its merge subject lacks the default branch tail, so the close scan did not select this card.
Evidence: merge d40d1c2 of PR 501 is in origin/main and its tree matches head 72763c9. Backfill follows the card_backfill format.
Impact: One task card moved to .task/archive with status backfilled. No code change. Second-instance writes stay closed.
Refs: .task/archive/feature-u7-release-roadmap.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 04:26:26 +00:00
weichen 170b07702c Record the sync checkpoint
ci / svc-realcombo (pull_request) Successful in 2m48s
ci / test-pg (pull_request) Successful in 10m0s
ci / test (pull_request) Successful in 6m23s
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=d40d1c2e5d29bb0ce429edf2221d9c4e4bcb0dcb; candidate=da0bb034c9679c396b2f96bdb1b3857c456455cf.

Impact: task metadata only.

Refs: .task/feature-svc-d3-real-scenarios.md
2026-10-13 04:25:22 +00:00
weichen da0bb034c9 Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=d40d1c2e5d29bb0ce429edf2221d9c4e4bcb0dcb.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-13 04:24:53 +00:00
weichen d40d1c2e5d Record the U7 release-gate specs
ci / test (push) Successful in 5m47s
ci / test-pg (push) Successful in 3m8s
ci / svc-realcombo (push) Successful in 1m50s
Why: The remaining U7 release gates needed a durable spec before anyone replays them or wires CI.
Evidence: Run 2832 on head 72763c9 has test, test-pg, and svc-realcombo success on home-runner. Review found docs only and unchanged evidence grades.
Impact: Docs and the task card. Checklist grades stay SELF or not started. Second-instance writes stay closed.
Refs: .task/feature-u7-release-roadmap.md
2026-10-13 04:22:57 +00:00
weichenandCursor 72763c9c6b Record the resync onto main after the login recovery merge
ci / test-pg (pull_request) Successful in 2m56s
ci / svc-realcombo (pull_request) Successful in 1m58s
ci / test (pull_request) Successful in 5m1s
Why: Main advanced with the login recovery merge while CI was running, so the branch had to take it in before merge. The new combination needed its own test evidence.
Evidence: make task-sync merged origin/main 268ef29 with no conflicts (SELF). make test exit 0 on the merged tree (SELF). CI on the new head is still required before merge.
Impact: Task card plus the merge of main. The release specs are unchanged. Second-instance writes stay closed.
Refs: .task/feature-u7-release-roadmap.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 04:15:26 +00:00
weichenandCursor f59a189b6f Record the deeper pin-fetch evidence
ci / test (pull_request) Successful in 4m50s
ci / svc-realcombo (pull_request) Successful in 1m50s
ci / test-pg (pull_request) Successful in 7m59s
Why: the ancestry fix needs a tool-written receipt beside the workflow change.
Evidence: SELF make evidence, exit 0.
Impact: task metadata only.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 04:14:11 +00:00
weichenandCursor c78c237dc7 Fetch pinned RDM history deep enough for ancestry
Why: depth 1 makes prev_sha and sha unrelated shallow roots, so update reports a fork instead of an upgrade.
Evidence: SELF the pin-fetch credential test; CI run 2829 showed the fork message.
Impact: test-pg fetches 200 commits from each pin, not the full history.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 04:14:03 +00:00
weichen 69ec4d115d Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=268ef2999ca2ff3481c6bebd588cae51d6b90709; candidate=62ecdb694c9455ce0bbbfb8cb06b14ab90103ad5.

Impact: task metadata only.

Refs: .task/feature-u7-release-roadmap.md
2026-10-13 04:11:02 +00:00
weichen 62ecdb694c Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=268ef2999ca2ff3481c6bebd588cae51d6b90709.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-13 04:10:38 +00:00
weichenandCursor b5cf1f2f1e Record the pin-channel unit evidence
ci / svc-realcombo (pull_request) Successful in 1m51s
ci / test (pull_request) Successful in 4m53s
ci / test-pg (pull_request) Failing after 6m39s
Why: the CI fix needs a tool-written receipt on the commit that contains it.
Evidence: SELF make evidence, exit 0.
Impact: task metadata only.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 04:05:49 +00:00
weichen 268ef2999c Merge pull request 'Implement login recovery flow: admin-issued one-time keys, transaction hardening, browser wiring' (#504) from feature/svc-login-recovery-flow into main
ci / svc-realcombo (push) Successful in 1m50s
ci / test-pg (push) Successful in 2m59s
ci / test (push) Successful in 4m58s
2026-10-13 04:04:07 +00:00
weichenandCursor 7331323df4 Give pin materialize the CI git channel and a private database
Why: test-pg has no SSH known_hosts, and the shared agent_test database already holds another instance identity.
Evidence: SELF python3 -m unittest tests.test_ci_credentials.CheckoutTests.test_rdm_pin_fetch_is_three_shas_on_the_allowlist tests.integration.lifecycle.test_lifecycle_real (1 pass, 24 skip).
Impact: lifecycle children forward GIT_CONFIG_* only; serve stays env -i. Login and rdm.ping stay NOT_RUN.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 04:03:55 +00:00
weichenandCursor 8e88796af3 Record the CI result for the release specs
ci / svc-realcombo (pull_request) Successful in 1m43s
ci / test-pg (pull_request) Successful in 2m42s
ci / test (pull_request) Successful in 4m50s
Why: Merge requires the current head CI result on the task card, with the run link, executor, and SHA.
Evidence: Run 2821 attempt 2 on head 3090dd9 has test, test-pg, and svc-realcombo success on home-runner (GATE). Attempt 1 failed in an unrelated timing-sensitive governance test and was rerun.
Impact: Task card only. Second-instance writes stay closed.
Refs: .task/feature-u7-release-roadmap.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 04:01:13 +00:00
weichen 16a9cdd216 Record task-sync evidence in the task card
ci / svc-realcombo (pull_request) Successful in 1m48s
ci / test-pg (pull_request) Successful in 2m44s
ci / test (pull_request) Successful in 4m41s
2026-10-13 03:54:23 +00:00
weichen ed6dd79fd5 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=3fb8210f6495a78e70a67af3661bdfe9c00fb9de; candidate=b7dbd91d41b7ba4f45a2f9a6d5270e0fad952f68.

Impact: task metadata only.

Refs: .task/feature-svc-login-recovery-flow.md
2026-10-13 03:54:23 +00:00
weichen b7dbd91d41 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=3fb8210f6495a78e70a67af3661bdfe9c00fb9de; candidate=192795cc97f698c1f3f20531cecc5cef533ef1b1.

Impact: task metadata only.

Refs: .task/feature-svc-login-recovery-flow.md
2026-10-13 03:53:45 +00:00
weichen 192795cc97 Record build evidence in the task card 2026-10-13 03:53:18 +00:00
weichen e4d9eda8e7 Record composite test evidence in the task card 2026-10-13 03:52:54 +00:00
weichen deb675fb6d Pin backend and frontend to the login recovery implementation
Why: The Dev composite must carry the exact backend (467718a) and
frontend (9fc7da2) commits implementing the login recovery contract.

Evidence: component branches pushed to their origins; make test runs in
this task worktree validate the composite (receipts in task card).

Impact: gitlink bump only; no other Dev tree changes.

Refs: docs/svc-deploy/2026-10-13-login-recovery-contract.md
2026-10-13 03:44:03 +00:00