Repository navigation
feat(memory): add compact Atomic Memory directory - #1767
wutongyuonce wants to merge 19 commits into
Conversation
Preserve pagination alongside upstream capacity and MCP additions. Keep revision-valid directory updates in the same commit transaction and verify pinned traversal across compaction. Regenerate the checked-in DSH bundle to satisfy the package freshness check.
|
@Teingi CI update: the previous 23 checks are now passing, including Python 3.11–3.14 and OceanBase acceptance. The only remaining failure is Acceptance (sqlite). Its uploaded exception evidence shows that the acceptance, LoCoMo, and fail-fast batches all stopped during agent dependency installation, before scenario execution: The download failed after three retries. This remaining failure is an external dependency-download error, not a pagination assertion failure; it does not establish a SQLite acceptance pass yet. Could a maintainer please rerun the failed SQLite acceptance job? My attempt to rerun it was rejected with HTTP 403 due to repository permissions. |
Preserve both the Memory directory cursor secret and the runtime model usage recorder in scoped service wiring.
|
Minimize additional tables and justify their responsibilities. |
|
Align schema changes and historical backfills with PR #1771.
|
|
@wutongyuonce Thanks for the implementation, tests, and scale validation in this PR. We are reviewing unified database migrations (#1771) and the Memory redesign (#1809, dependent on #1803). These designs would affect the directory projection, revision cursors, and migration approach used here. We therefore plan to close this PR for now and keep the pagination requirement in #1656 open until those designs are settled. We'd welcome your continued involvement, and the work you've done provides a useful reference for the next implementation. |
|
please update & resolve conflicts |
|
please update & resolve conflicts |
|
please update & resolve conflicts |
Which issue or RFC does this PR close?
Refs #1656. Follows the Atomic Memory/shared Artifact model in #1809/#1859 and the explicit migration boundary in #1771.
Rationale for this change
Browsing Atomic Memory identities should not load complete content or history. This adds a compact current-head directory with exact Artifact references. A content, lifecycle, merge/restoration or effective tag change invalidates continuation; callers restart from page one.
What changes are included in this PR?
POST /v1/atomic-memory/directory/query,query_atomic_memory_directoryin the HTTP SDK/MCP, and the Python scoped query. OpenAPI owns the generated contracts; Codex session Scope binding includes the operation. Regenerate Desktop wire/API contracts and the distributed DSH bundle; include the additive tool in Skill mock catalogs and negative controls.server db-migrateentry point and single revision table. Append frozen p0004/p0005 resources, current-head backfill/validation, shared batch commits and original-backup recovery. The default four-table acceptance target remains p0003; released revision/env bytes are unchanged.Are there any user-facing changes?
The additive directory returns compact exact references with default limit 50 / maximum 100. Continuation must restart after changes. Full-record APIs retain their current contracts.
Production enablement in this PR is restricted to the registered default current SQLite business layout, ordinary persistent files, no embedding extension, and trusted-local or qualified same-database Builtin/Casbin Scope-read authorization. Stop all writers, run
server db-migrate plan/apply/verify --target atomic-memory-directory --env-file deployment.env, then restart the matching program. The target uses the database-adjacent default evidence directory. Migration does not invent owners.Unmanaged targets and unsupported access configurations fail explicitly. Unregistered historical/archive layouts, vector configurations and seekDB/OceanBase directory execution are not supported by this target. Existing initializers in other domains remain unchanged; this PR does not complete the entire migration RFC rollout. Shared migration output remains
readiness_scope=registered_bundle,server_ready=false. Restore under stopped writes and rotate the existing cursor signing secret before resuming.How was this change tested?
.venv/bin/python -m pytest -n 2 --doctest-modules tests -q: 5,290 passed, 429 skipped. Skips/deselections do not establish external backend, native-host or real-model acceptance.ty checkpassed.make docs-test: lint/test/static build passed, with 921 pages and internal links verified. sdist/wheel builds passed; packaged code and frozen resources were checked against the source.Final-head GitHub CI: 35 checks passed, 0 failed, 0 pending, including Python 3.11–3.14 unit/e2e, hosted quality, Skill guidance, ZCode, Windows Desktop, DSH, native services, documentation and existing backend acceptance/clean-migration checks. CLA status also passed. The separate optional Desktop
installed-packagejob was skipped and is not counted as passed; the Windows job built the installer and ran its installed-package smoke.Validation limit: Local
make checkstops atuv lock --locked: the local uv installation reports apyproject.toml/uv.lockmismatch. The same failure was reproduced in clean checkouts of upstreamb5bcfe24andb9edaa5b; this contribution changes no dependency manifest or lockfile. All hooks/type checks were run separately, and final-head hosted quality passed. Current head83213498contains upstreamee50b36d, including the upstream ZCode pin fix. Existing backend regressions do not establish seekDB/OceanBase directory support. The PR has no merge conflicts; maintainer review and design acceptance are still required.AI usage statement
OpenAI Codex assisted implementation, local source/contract review and validation. Local tests, real network/package evidence and unavailable external-backend checks are reported separately; no independent or hosted review pass is claimed.