项目交接 is portable project memory for humans and AI 代理s. It helps humans and AI 代理s transfer project state without relying on private chat history.
It gives OpenAI, Codex, Claude, local agents, vendors, and human teams a shared repo-local starting point: what this project is, what changed, what constraints matter, what decisions were made, and what must be verified before the next edit.
OpenAI runs the agents. 项目交接 preserves the project memory.
- Start with AGENTS.mdCreate the durable repository front door.
- View example handoff bundleInspect the generated 项目交接 starter ZIP.
- 配合使用 OpenAI Agents / CodexSeed OpenAI-centered workflows with repo-local memory.
- 配合使用 coding agentsMap the same handoff bundle into Codex, Claude Code, Cursor, Copilot, and Gemini Code Assist.
- Read the draft specReview AGENTS.md and .uai link syntax.
What This Is / What This Is Not
| What 项目交接 is | What 项目交接 is not |
|---|---|
|
项目交接 is a portable repository-context standard for transferring work between AI models, agent systems, vendors, internal teams, companies, and future sessions of the same project. It defines durable files such as |
项目交接 is not an OpenAI replacement, an agent scheduler, a runtime orchestrator, a competing tool-calling framework, a private memory store, or a chat transcript archive. It is the source-of-truth project brief that orchestrators can load before they act and update after they finish. |
热记忆 Context, 冷记忆
项目交接 should be hot context: current truth, current constraints, accepted decisions, active blockers, next work, and checks. It should not become the place where every research report, old session note, or historical roadmap paragraph is loaded by default.
When a handoff bundle grows too large, preserve the pre-slim files in an LLM Wiki or AIWikis-style cold memory layer with a manifest, source paths, checksums, summaries, and a dated log. Then keep the active AGENTS.md, readme.human, and .uai files concise and point to cold memory only when the task needs original evidence.
AI Dreaming Memory Frameworks
In UAIX guidance, AI Dreaming Memory is a selected reviewed consolidation pass over visible project memory. It can reread recent handoff files, accepted intake outcomes, evidence ledgers, and named cold-memory archives to propose duplicate merges, stale-fact pruning, contradiction notes, next-action updates, and hot/cold memory changes.
A dreaming pass should produce proposed deltas, not silent truth. Record the input scope, prompts or job settings, redactions, before/after memory summary, accepted and rejected changes, reviewer, checks, archive path, and rollback snapshot in 项目交接 or the selected evidence ledger.
- Use it for: periodic memory hygiene, release-bound memory review, contradiction discovery, source-preserving summaries, and handoff readiness checks.
- Do not use it for: hidden model memory, model-weight updates, unsupervised private-data processing, automatic repository writes, automatic LLM Wiki sync, or public support claims without review.
- Promotion rule: a dream output becomes operational only when its accepted slice is written into
AGENTS.md,readme.human, typed.uairecords, docs, code, tests, release notes, roadmap state, changelog, machine artifacts, or long-memory evidence.
Production Deployment Memory Sorting
Production deployment builds and release packages are the right moment to run memory management. Before calling a deployment complete, update hot memory with the current deployed truth, version numbers, changed files, checks run, blockers, owners, and next actions. Move bulky history, old reports, raw sources, stale plans, and background or rejected rationale into the named LLM Wiki, AIWikis-style archive, or cold-memory path when one exists with transfer evidence. Write a durable deployment memory and test run report beside the release artifacts or in the selected evidence ledger; a chat-only final note is not enough.
Do not run that pass for ordinary dev builds, test runs, local package experiments, or smoke checks unless a human explicitly marks the build as release-bound or a release candidate.
How It Fits With OpenAI, Codex, Skills, MCP, And Agent Runtimes
Agent runtimes are built to execute work: choose tools, call APIs, apply approvals, delegate between specialists, preserve run state, and produce traces or pull requests. 项目交接 lives one layer earlier and one layer later. It tells the runtime what durable project memory to load before work starts, and it gives humans a reviewable place to write back the accepted result after work finishes.
项目交接 is the bounded input and write-back surface for harness engineering: load the current spec, constraints, owners, checks, and support boundaries before a run; after review, write back only accepted decisions, changed files, test or eval results, blockers, page digests, adoption signals, and next actions.
Use OpenAI, Codex, Skills, MCP servers, Claude, local agents, or other orchestration systems to run the work. Use 项目交接 to make sure those systems start with the right project memory, constraints, decisions, and verification plan.
OpenAI Runtime Orchestration Vs 项目交接
| Layer | OpenAI Agents / Codex / orchestration | UAIX 项目交接 |
|---|---|---|
| Runtime execution | Strong | Not the goal |
| Agent-to-agent delegation | Strong | Not the main layer |
| Tool calls and approvals | Strong | Defines repo-side policy inputs |
| Session memory | Strong inside the platform | Portable outside the platform |
| AGENTS.md project guidance | Supported | Uses it as the front door |
| Human briefing | Runtime or workflow dependent | readme.human |
| Typed project records | Runtime-specific configs and traces | .uai records |
| Vendor portability | Partial | Core purpose |
| Audit-friendly project state | Runtime traces | Repo-local handoff artifacts |
| 最佳用途 | Run the work | Preserve and transfer the context |
Use OpenAI to run agents. Use 项目交接 to make sure those agents start with the right project memory, constraints, decisions, and verification plan.
Minimum Handoff 数据包
my-project/
AGENTS.md
readme.human
.uai/
context.uai
stack.uai
constraints.uai
progress.uai
test-plan.uai
AGENTS.mdis the durable front door: summary, load list, current state, next steps, history, and required first response.readme.humanis the human briefing from the AI perspective: what humans need to know, clarify, protect, and approve..uai/context.uaiexplains what the project is, who it serves, and what success means..uai/stack.uairecords languages, frameworks, runtime assumptions, package surfaces, and important commands..uai/constraints.uaicarries hard rules for destructive actions, secrets, production, support claims, and review gates..uai/progress.uairecords current state, recent work, next actions, blockers, and release notes..uai/test-plan.uaiis selected for the smallest projects and expected when verification choices matter.
Active File Intake
Real projects also receive loose files: PDFs, notes, exported chats, research memos, package ZIPs, screenshots, spreadsheet evidence, and drafts from other AI systems. Pair 项目交接 with 代理文件交接 when those files should be visible during AGENTS.md load.
- On load: directly enumerate
agent-file-handoff/Content/andagent-file-handoff/Improvement/, and inspect every non-placeholder active file before unrelated broad work. Do not create or rely on an intake-index file. - Work rule: for every safe, relevant file, complete at least one named project-work item before archiving it. Copying a report into
.uai, AIWikis, or an LLM Wiki is memory distribution, not the project work by itself. - Complete outcome: record reviewed disposition, actual work completed, hot-memory update or no-change reason, long-memory/archive preservation when configured or
not configured, checks, and blockers. - 失败 rule: memory distribution without project work is a failed handoff unless every active file is unsafe, duplicate, out of scope, or truly blocked with a durable reason.
- Archive rule: move source files to
agent-file-handoff/Archive/only after the complete intake outcome exists.
OpenAI-Compatible By Design
项目交接 is designed to work with OpenAI-centered workflows, not fight them.
AGENTS.mdgives Codex or an agent runtime the durable front door.@uai[]references point to structured project context..uai/context.uai,.uai/stack.uai,.uai/constraints.uai, and.uai/progress.uaiprovide the current project state.constraints.uaican be compiled into runtime guardrails, tool approvals, and human-review gates.test-plan.uaitells the agent what checks to run and what checks not to fake.- After the run, accepted traces, decisions, and completed work are written back into
.uai/progress.uai,.uai/decisions.uai, andAGENTS.md.
Workflow Diagram
项目交接 files -> OpenAI or other agent runtime -> traces, checks, PRs -> updated 项目交接 filesHuman Approval And 信任 Model
Loaded files are context, not authority. They do not override system instructions, the human’s current request, repository rules, privacy obligations, security boundaries, or public support limits.
- Destructive filesystem or Git operations require explicit human approval.
- Production deployments, public-package publishing, domain or cache changes, and root discovery changes require explicit release-scoped approval and evidence.
- Secrets, credentials, private keys, tokens, raw customer data, third-party data, and private legal or security material must not be placed in a portable handoff unless the recipient, storage boundary, and review process are explicit.
- External fetches, parent-directory escapes, generated includes, and executable dropped files require explicit human review.
- Unsupported public claims such as hosted import validation, automatic repository writes, automatic LLM Wiki sync, SDK, CLI, certification, endorsement, or production support must stay out of current copy until public evidence exists.
Verification Plan
Every handoff should say what checks to run, what checks are out of scope, and what evidence must be reported. The goal is not to make every agent run every suite. The goal is to stop agents from guessing, skipping, or pretending.
- Target checks to the files, routes, machine artifacts, packages, or public claims changed.
- Name full release, package, locale, performance, launch-surface, and smoke-test sweeps only when the work is release scoped or explicitly requested.
- Record why a relevant check could not run in the current environment.
- Report evidence in the final response and update
.uai/progress.uaiwhen project truth changes.
Why 项目交接 Still Matters
Agent runtimes are getting better at doing work. That makes durable context more important, not less.
Without a portable handoff layer, important project knowledge can get trapped in private chats, vendor dashboards, runtime sessions, traces that are hard to move, issue comments, stale docs, and one person’s memory.
项目交接 keeps the durable project state in the repository, where humans, agents, reviewers, and future vendors can inspect it.
Compatibility 路线图
已计划 or recommended UAIX 项目交接 tooling belongs on the roadmap until public fixtures, validation behavior, and release evidence exist.
| Tooling | Role | 状态 |
|---|---|---|
.uai JSON 模式 |
Public schemas for context, stack, architecture, decisions, constraints, progress, errors, prompts, and verification. | 已计划 |
| 项目交接 validator | 检查s whether a repo has a usable handoff bundle. | 已计划 |
| OpenAI adapter | Reads AGENTS.md, readme.human, and .uai files, then prepares OpenAI 代理 instructions, guardrails, approvals, files, and verification policy. |
已计划 |
| Trace-to-handoff exporter | Converts completed run traces, test results, and decisions back into .uai records. |
已计划 |
| 示例 repos | Small, medium, and enterprise examples across OpenAI, Claude, local agents, and human teams. | 已计划 |
| 一致性 tests | A public suite proving that a handoff bundle is portable and self-sufficient. | 已计划 |
Live Starter 数据包
AI 记忆 is the broad public framing, and 项目交接 is the transfer configuration for repository takeover or responsibility movement. This starter ZIP is generated on demand from the same canonical template registry and generated-manifest path used on the AI 记忆 page.
.uai/exports/manifest.json
{
"bundle_id": "project-handoff",
"name": "\u9879\u76ee\u4ea4\u63a5",
"description": "\u6b64\u5904\u8bf4\u660e\u5f53\u524d\u516c\u5f00\u8bb0\u5f55\u3001\u8bc1\u636e\u8def\u5f84\u548c\u652f\u6301\u8fb9\u754c\u3002",
"intended_use_case": "\u6b64\u5904\u8bf4\u660e\u5f53\u524d\u516c\u5f00\u8bb0\u5f55\u3001\u8bc1\u636e\u8def\u5f84\u548c\u652f\u6301\u8fb9\u754c\u3002",
"lifecycle": "\u6b64\u5904\u8bf4\u660e\u5f53\u524d\u516c\u5f00\u8bb0\u5f55\u3001\u8bc1\u636e\u8def\u5f84\u548c\u652f\u6301\u8fb9\u754c\u3002",
"download_filename": "uai-project-handoff-starter.zip",
"display_order": 20,
"trust_boundary_notes": "\u6b64\u5904\u8bf4\u660e\u5f53\u524d\u516c\u5f00\u8bb0\u5f55\u3001\u8bc1\u636e\u8def\u5f84\u548c\u652f\u6301\u8fb9\u754c\u3002",
"package_family_id": "project-developer-memory",
"package_family_name": "\u516c\u5f00\u8bb0\u5f55\u9879",
"assistant_role": "",
"assistant_relationship_type": "",
"audience_model": "",
"assistant_capability_summary": "",
"included_files": [
".uai/memory-maintenance.uai",
".uai/identity.uai",
".uai/world-context.uai",
".uai/short-term-memory.uai",
".uai/README.md",
"AGENTS.md",
".uai/readme.human",
".uai/overview.uai",
".uai/current-state.uai",
".uai/open-questions.uai",
".uai/next-actions.uai",
".uai/risk-register.uai",
".uai/owners.uai",
".uai/agent-instructions.uai",
".uai/changelog.uai",
".uai/deployment-memory-and-test-report.uai",
".uai/context.uai",
".uai/stack.uai",
".uai/architecture.uai",
".uai/constraints.uai",
".uai/progress.uai",
".uai/operations.uai",
".uai/test-plan.uai",
".uai/style.uai",
".uai/coding-standards.uai",
".uai/decisions.uai",
".uai/memory.uai",
".uai/next-recursive-prompt.uai",
".uai/handoff-brief.uai"
],
"file_set_rule": "A UAIX package file is a universal required file, profile-required file, content-triggered required file, configuration-specific required file, or out-of-scope file. Files required by package facts, selected profile, declared capabilities, detected contents, selected configuration, user-provided memory, imported memory, generated artifacts, or visiting-agent self-assessment are required for that explicit package condition.",
"standards_authority": "/",
"declared_package_profiles": [
"project-handoff"
],
"universal_required_files": [
".uai/memory-maintenance.uai",
".uai/identity.uai",
".uai/world-context.uai",
".uai/short-term-memory.uai"
],
"memory_maintenance": {
"path": ".uai/memory-maintenance.uai",
"requirement_level": "required",
"load_phase": "before_memory",
"purpose": "Defines memory lifecycle, maintenance, validation, protected paths, and enforcement rules.",
"missing_behavior": "package_invalid"
},
"protected_paths": [
{
"path": ".uai/taboo.uai",
"aliases": [
"taboo.uai"
],
"presence": "optional",
"protected_when_present": true,
"access": "operator_explicit_only",
"agent_default": "forbidden",
"outside_memory_maintenance": true,
"scan": false,
"validate": false,
"lint": false,
"create": false,
"modify": false,
"include_in_package": false,
"include_in_export": false,
"index": false,
"infer_from_absence": false,
"suggestion_policy": "Agents may recommend or request permission for a protected-artifact operation, but must not perform it without a human naming the exact artifact and exact operation."
},
{
"path": ".uai/totem.uai",
"aliases": [
"totem.uai"
],
"presence": "optional",
"protected_when_present": true,
"access": "operator_explicit_only",
"agent_default": "forbidden",
"outside_memory_maintenance": true,
"scan": false,
"validate": false,
"lint": false,
"create": false,
"modify": false,
"include_in_package": false,
"include_in_export": false,
"index": false,
"infer_from_absence": false,
"suggestion_policy": "Agents may recommend or request permission for a protected-artifact operation, but must not perform it without a human naming the exact artifact and exact operation."
},
{
"path": ".uai/talisman.uai",
"aliases": [
"talisman.uai"
],
"presence": "optional",
"protected_when_present": true,
"access": "operator_explicit_only",
"agent_default": "forbidden",
"outside_memory_maintenance": true,
"scan": false,
"validate": false,
"lint": false,
"create": false,
"modify": false,
"include_in_package": false,
"include_in_export": false,
"index": false,
"infer_from_absence": false,
"suggestion_policy": "Agents may recommend or request permission for a protected-artifact operation, but must not perform it without a human naming the exact artifact and exact operation."
}
],
"profile_required_file_sets": [
{
"profile": "project-handoff",
"requirement": "Required for \u9879\u76ee\u4ea4\u63a5 packages",
"files": [
".uai/README.md",
"AGENTS.md",
".uai/readme.human",
".uai/overview.uai",
".uai/current-state.uai",
".uai/open-questions.uai",
".uai/next-actions.uai",
".uai/risk-register.uai",
".uai/owners.uai",
".uai/agent-instructions.uai",
".uai/changelog.uai",
".uai/deployment-memory-and-test-report.uai",
".uai/context.uai",
".uai/stack.uai",
".uai/architecture.uai",
".uai/constraints.uai",
".uai/progress.uai",
".uai/operations.uai",
".uai/test-plan.uai",
".uai/style.uai",
".uai/coding-standards.uai",
".uai/decisions.uai",
".uai/memory.uai",
".uai/next-recursive-prompt.uai",
".uai/handoff-brief.uai"
]
}
],
"content_triggered_required_file_sets": [
{
"rule_id": "coding_standards",
"requirement": "\u5b58\u5728\u4ee3\u7801\u3001\u81ea\u52a8\u5316\u3001\u53ef\u6267\u884c\u5de5\u4f5c\u6d41\u6216\u7c7b\u4ee3\u7801\u5de5\u4ef6\u65f6\u5fc5\u9700\u3002",
"matched_signals": [
"project_or_developer_profile",
"code_like_artifacts"
],
"files": [
".uai/coding-standards.uai"
]
},
{
"rule_id": "next_recursive_prompt",
"requirement": "\u6b64\u5904\u8bf4\u660e\u5f53\u524d\u516c\u5f00\u8bb0\u5f55\u3001\u8bc1\u636e\u8def\u5f84\u548c\u652f\u6301\u8fb9\u754c\u3002",
"matched_signals": [
"project_or_developer_profile",
"code_like_artifacts"
],
"files": [
".uai/next-recursive-prompt.uai"
]
}
],
"detected_requirement_signals": [
"project_or_developer_profile",
"code_like_artifacts"
],
"required_files_effective": [
".uai/memory-maintenance.uai",
".uai/identity.uai",
".uai/world-context.uai",
".uai/short-term-memory.uai",
".uai/README.md",
"AGENTS.md",
".uai/readme.human",
".uai/overview.uai",
".uai/current-state.uai",
".uai/open-questions.uai",
".uai/next-actions.uai",
".uai/risk-register.uai",
".uai/owners.uai",
".uai/agent-instructions.uai",
".uai/changelog.uai",
".uai/deployment-memory-and-test-report.uai",
".uai/context.uai",
".uai/stack.uai",
".uai/architecture.uai",
".uai/constraints.uai",
".uai/progress.uai",
".uai/operations.uai",
".uai/test-plan.uai",
".uai/style.uai",
".uai/coding-standards.uai",
".uai/decisions.uai",
".uai/memory.uai",
".uai/next-recursive-prompt.uai",
".uai/handoff-brief.uai"
],
"not_required_files_with_reasons": [],
"closed_required_file_policy": "UAIX package files are universal required, profile-required for an explicit package family, profile, mode, or package type, content-triggered required for detected contents or declared capabilities, configuration-specific required for selected configurations, or out of scope with a recorded reason.",
"out_of_scope_rule": "A file outside the universal required set and outside declared package profiles is out of scope for this package.",
"shared_files": [
".uai/memory-maintenance.uai",
".uai/identity.uai",
".uai/world-context.uai",
".uai/short-term-memory.uai",
".uai/README.md",
"AGENTS.md",
".uai/readme.human",
".uai/overview.uai",
".uai/current-state.uai",
".uai/open-questions.uai",
".uai/next-actions.uai",
".uai/risk-register.uai",
".uai/owners.uai",
".uai/agent-instructions.uai",
".uai/changelog.uai",
".uai/deployment-memory-and-test-report.uai",
".uai/context.uai",
".uai/stack.uai",
".uai/architecture.uai",
".uai/constraints.uai",
".uai/progress.uai",
".uai/operations.uai",
".uai/test-plan.uai",
".uai/style.uai",
".uai/coding-standards.uai",
".uai/decisions.uai",
".uai/memory.uai",
".uai/next-recursive-prompt.uai"
],
"bundle_specific_files": [
".uai/handoff-brief.uai"
],
"configuration_sections": [
"\u6b64\u5904\u8bf4\u660e\u5f53\u524d\u516c\u5f00\u8bb0\u5f55\u3001\u8bc1\u636e\u8def\u5f84\u548c\u652f\u6301\u8fb9\u754c\u3002"
],
"overlays": [
"\u6b64\u5904\u8bf4\u660e\u5f53\u524d\u516c\u5f00\u8bb0\u5f55\u3001\u8bc1\u636e\u8def\u5f84\u548c\u652f\u6301\u8fb9\u754c\u3002"
],
"files": [
{
"path": ".uai/memory-maintenance.uai",
"template_id": "uai-memory-maintenance",
"source": "template:uai-memory-maintenance@1",
"bytes": 3219,
"sha256": "f8b0b5af9868cb4f0396d5e35883bade0c62dccf7fd981077caa03c22513e3cf"
},
{
"path": ".uai/identity.uai",
"template_id": "uai-identity",
"source": "template:uai-identity@1",
"bytes": 2216,
"sha256": "1987d3b153f917f5dc8b820cfe0bf025a53576b3344496d98cbb4ed3301562b3"
},
{
"path": ".uai/world-context.uai",
"template_id": "uai-world-context",
"source": "template:uai-world-context@1",
"bytes": 1834,
"sha256": "a0b763015d6800eb606f7271c2cdc4ca3e2b3b0877dcd2e53ddb79885755418e"
},
{
"path": ".uai/short-term-memory.uai",
"template_id": "uai-short-term-memory",
"source": "template:uai-short-term-memory@1",
"bytes": 2593,
"sha256": "74e9b29945791a81faa9d3a5b0838e7a7d6efd62dc822dc2972a9bd8b71c3ab5"
},
{
"path": ".uai/README.md",
"template_id": "readme",
"source": "template:readme@1",
"bytes": 1829,
"sha256": "ec4f41a799dbef5257ed97b3c6094e437ec0d429fc98d5ec1972a0071fa0c39f"
},
{
"path": "AGENTS.md",
"template_id": "agents-md",
"source": "template:agents-md@1",
"bytes": 1803,
"sha256": "a8c3b5be040dc8239d8720a3b6cd74d793656e719c123bf6dbbd1ea478181154"
},
{
"path": ".uai/readme.human",
"template_id": "readme-human",
"source": "template:readme-human@1",
"bytes": 1082,
"sha256": "25ba4fbcef24026894c6dbe3d507f4329e190b25c1d1e8d9bcc6b51fb6a111c5"
},
{
"path": ".uai/overview.uai",
"template_id": "project-overview",
"source": "template:project-overview@1",
"bytes": 492,
"sha256": "39fa87d6ddcfd5060afdc9f223e3978d25544d43d6f6be690c01245ef03305ac"
},
{
"path": ".uai/current-state.uai",
"template_id": "current-state",
"source": "template:current-state@1",
"bytes": 325,
"sha256": "ea4124581f681c39c21f55f4a6172a1af2b48a13cb4a44d6951cfe63fb4c1462"
},
{
"path": ".uai/open-questions.uai",
"template_id": "open-questions",
"source": "template:open-questions@1",
"bytes": 382,
"sha256": "629fc8106161f23b5da9027a55078d16e9663ac44202ace5507fca766f260195"
},
{
"path": ".uai/next-actions.uai",
"template_id": "next-actions",
"source": "template:next-actions@1",
"bytes": 376,
"sha256": "09e1a5903710bf8d98febe30b35ac53d1a033a8cd61123165926c5723bbfd201"
},
{
"path": ".uai/risk-register.uai",
"template_id": "risks-and-constraints",
"source": "template:risks-and-constraints@1",
"bytes": 778,
"sha256": "396e7ece87776635c61da08538f309d894ce2d01fdc1bdfef80115651bfcfa8d"
},
{
"path": ".uai/owners.uai",
"template_id": "contacts-and-owners",
"source": "template:contacts-and-owners@1",
"bytes": 283,
"sha256": "472c67e2d4bab2608eca127209ff669b692495d2e96326a63aeb305d5da6f54f"
},
{
"path": ".uai/agent-instructions.uai",
"template_id": "agent-instructions",
"source": "template:agent-instructions@1",
"bytes": 1019,
"sha256": "3945d08995ae18cb968beda0ca131f477e1ec594f3575e973a361305e5bc1944"
},
{
"path": ".uai/changelog.uai",
"template_id": "changelog",
"source": "template:changelog@1",
"bytes": 175,
"sha256": "8a1d064f7d02294329200521e29d6d5dc0961a9ba5fd44fa21e75b2af5dd2016"
},
{
"path": ".uai/deployment-memory-and-test-report.uai",
"template_id": "deployment-report",
"source": "template:deployment-report@1",
"bytes": 935,
"sha256": "dab28315ed510def2557450642658e7cec5de4d8a61ea7fc7c10ed9d165ad732"
},
{
"path": ".uai/context.uai",
"template_id": "uai-context",
"source": "template:uai-context@1",
"bytes": 285,
"sha256": "aa289be70b0aabadcab8d7a60fc906ddf465f7392580a9be278570cd45788661"
},
{
"path": ".uai/stack.uai",
"template_id": "uai-stack",
"source": "template:uai-stack@1",
"bytes": 204,
"sha256": "29f47ec11930fc90ba3c7ce77f37ae7b0638c12fd21a11ee897e93a366aea6f5"
},
{
"path": ".uai/architecture.uai",
"template_id": "uai-architecture",
"source": "template:uai-architecture@1",
"bytes": 278,
"sha256": "403282c4d3df335be44b4237bb258fcfb060f79569ff4ad3c1ba0959eee29d85"
},
{
"path": ".uai/constraints.uai",
"template_id": "uai-constraints",
"source": "template:uai-constraints@1",
"bytes": 520,
"sha256": "f0e8cd1948b215fae8fc97681c8348391b7d1a47a04444e1b936f716efd36853"
},
{
"path": ".uai/progress.uai",
"template_id": "uai-progress",
"source": "template:uai-progress@1",
"bytes": 188,
"sha256": "c47bf1fe21e9b1ca62d0c33de793f052252b499fcf78f9228ee1253a97e1fc50"
},
{
"path": ".uai/operations.uai",
"template_id": "uai-operations",
"source": "template:uai-operations@1",
"bytes": 323,
"sha256": "223ce4881883ee576721885162e6948285be16ad277fb4b95618aca87e2d85af"
},
{
"path": ".uai/test-plan.uai",
"template_id": "uai-test-plan",
"source": "template:uai-test-plan@1",
"bytes": 395,
"sha256": "087ac4dfc7daf2d0628cb5fc1c5079030f57024cc618f2d5ac37d0590c903322"
},
{
"path": ".uai/style.uai",
"template_id": "uai-style",
"source": "template:uai-style@1",
"bytes": 331,
"sha256": "b130ec2dbd3e0f3626cc145bc758fd7e4ce4b18c2502960608de5513f20f3209"
},
{
"path": ".uai/coding-standards.uai",
"template_id": "uai-coding-standards",
"source": "template:uai-coding-standards@1",
"bytes": 2047,
"sha256": "9e82c8ea5fdf8b95459824cb503a505155e40301a729281d8fabfb9ea630da42"
},
{
"path": ".uai/decisions.uai",
"template_id": "uai-decisions",
"source": "template:uai-decisions@1",
"bytes": 150,
"sha256": "7d5dca211562cbd843d0428ea3d5cceadb4c58967363caaefa6a41f34bea0286"
},
{
"path": ".uai/memory.uai",
"template_id": "uai-memory",
"source": "template:uai-memory@1",
"bytes": 1035,
"sha256": "73dde88221f6f44a9bfbf2f62601ccf18013683f129a65a088f525f03e7adab5"
},
{
"path": ".uai/next-recursive-prompt.uai",
"template_id": "uai-next-recursive-prompt",
"source": "template:uai-next-recursive-prompt@1",
"bytes": 8732,
"sha256": "5b8e47b3c6c16f90917971e409cb23e0281fc51e96ed13bbef6b2f0ecdee331f"
},
{
"path": ".uai/handoff-brief.uai",
"template_id": "handoff-brief",
"source": "template:handoff-brief@1",
"bytes": 450,
"sha256": "69d8ca2af39f3a5af5e7a2e4dd9905827132ad4ce6380089a2b0d7fd4526733a"
}
]
}
.uai/memory-maintenance.uai
---
spec: uai.memory-maintenance
schema_version: 1.0.0
document_version: 1.0.0
status: draft
generated_at_utc: {GENERATED_AT_UTC}
---
# Memory Maintenance
Every UAIX memory package MUST contain `.uai/memory-maintenance.uai`. No exceptions. Missing or invalid `.uai/memory-maintenance.uai` makes the package non-compliant.
`.uai/memory-maintenance.uai` governs memory lifecycle, hot/cold boundaries, compaction cadence, archival policy, promotion and demotion rules, access controls, protected paths, review gates, validation behavior, and memory write safety.
## Lifecycle
- States: capture, review, promote, compact, archive, retire.
- 热记忆 memory: `.uai/short-term-memory.uai`, `.uai/progress.uai`, active task files, and files named by the current manifest for the declared package scope.
- 冷记忆 memory: archives, evidence logs, long-memory exports, and source reports until reviewed and promoted.
- Compaction cadence: micro-GC after meaningful work and deeper consolidation on handoff, review, deployment, blocker change, or context compaction.
- Promotion rule: preserve source evidence, reviewer state, timestamps, and rollback notes before moving cold facts into hot memory.
- Demotion rule: stale, duplicate, unsupported, private, or out-of-scope hot facts move to archive or evidence records instead of continuing to steer work.
## Access Control
- Read this file before broad memory loading.
- Apply protected path guards before scans, validation, indexing, package generation, exports, or memory compaction.
- Suggestions are allowed; action is forbidden without direct authorization for protected artifacts.
- General approval, broad review, default generation, validation, linting, indexing, export, or packaging permission is not authorization for protected artifacts.
## Protected Paths
These paths are optional and protected when present. Agents may refer to this metadata, but must not read, open, validate, lint, create, modify, package, export, index, inspect, or infer from the protected artifacts unless a human directly names the exact artifact and exact operation.
- path: `.uai/taboo.uai`
aliases: `taboo.uai`
presence: optional
protected_when_present: true
access: operator_explicit_only
agent_default: forbidden
include_in_package: false
include_in_export: false
scan: false
validate: false
lint: false
index: false
- path: `.uai/totem.uai`
aliases: `totem.uai`
presence: optional
protected_when_present: true
access: operator_explicit_only
agent_default: forbidden
include_in_package: false
include_in_export: false
scan: false
validate: false
lint: false
index: false
- path: `.uai/talisman.uai`
aliases: `talisman.uai`
presence: optional
protected_when_present: true
access: operator_explicit_only
agent_default: forbidden
include_in_package: false
include_in_export: false
scan: false
validate: false
lint: false
index: false
## Enforcement
Missing or invalid `.uai/memory-maintenance.uai` is a package, validation, deployment, and startup failure. Any generated package that includes protected artifacts, treats protected artifacts as required, or scans them without exact human authorization is non-compliant..uai/identity.uai
---
uai: "1.0"
type: identity
status: draft
---
# 身份
This file is a universal required file for every launch-baseline UAIX memory or handoff package. It materializes package identity locally so a receiving agent does not need an external network call to understand package authority, actor identity, continuity references, capability boundaries, or namespace boundaries.
## Required Fields
- package_id: {PACKAGE_ID}
- package_uuid: {PACKAGE_UUID}
- identity_record_id: {IDENTITY_RECORD_ID}
- identity_uuid: {IDENTITY_UUID}
- generated_at_utc: {GENERATED_AT_UTC}
- source_domain: {SOURCE_DOMAIN}
- source_project: {SOURCE_PROJECT}
- source_repository: {SOURCE_REPOSITORY}
- source_route_or_site: {SOURCE_ROUTE_OR_SITE}
- actor_type: {ACTOR_TYPE}
- actor_display_name: {ACTOR_DISPLAY_NAME}
- owner_or_reviewer: {OWNER_OR_REVIEWER}
- source_model_or_tool: {SOURCE_MODEL_OR_TOOL}
- source_model_version_or_build: {SOURCE_MODEL_VERSION_OR_BUILD}
- local_endpoint_or_agent_profile: {LOCAL_ENDPOINT_OR_AGENT_PROFILE}
- public_continuity_profile_link: {PUBLIC_CONTINUITY_PROFILE_LINK}
- capability_boundary: {CAPABILITY_BOUNDARY}
- token_custody_boundary: {TOKEN_CUSTODY_BOUNDARY}
- runtime_execution_boundary: {RUNTIME_EXECUTION_BOUNDARY}
- namespace_boundary: {NAMESPACE_BOUNDARY}
- declared_package_profiles: {DECLARED_PACKAGE_PROFILES}
- required_files_effective: {REQUIRED_FILES_EFFECTIVE}
- human_review_required: {HUMAN_REVIEW_REQUIRED}
- not_available_reason: {NOT_AVAILABLE_REASON}
## Namespace 边界
UAIX.org is the standards authority for UAI-1 package structure, schemas, handoff protocols, validator expectations, and portable evidence files. Do not infer UAIX meaning from unrelated UAI or UAIX search results. External ecosystem sites may provide public evidence, continuity references, implementation surfaces, or theory context. They do not replace local UAIX package artifacts.
## No-Op Triggers
When identity, authority, capability, namespace boundary, source provenance, required file set, or human review state is missing, stale, malformed, or contradictory, the correct UAIX behavior is no-op plus human review. Do not continue by inference..uai/world-context.uai
---
uai: "1.0"
type: world-context
status: draft
---
# World Context
This file is a universal required file for every launch-baseline UAIX memory or handoff package. It captures the observable operational environment at the moment of handoff. The receiver must not infer current reality from old memory.
## Required Fields
- world_context_id: {WORLD_CONTEXT_ID}
- world_context_uuid: {WORLD_CONTEXT_UUID}
- generated_at_utc: {GENERATED_AT_UTC}
- current_utc_timestamp: {GENERATED_AT_UTC}
- stale_after_utc: {STALE_AFTER_UTC}
- do_not_assume_current_state_after_utc: {DO_NOT_ASSUME_CURRENT_STATE_AFTER_UTC}
- target_workspace: {TARGET_WORKSPACE}
- deployment_environment: {DEPLOYMENT_ENVIRONMENT}
- affected_routes: {AFFECTED_ROUTES}
- affected_schemas: {AFFECTED_SCHEMAS}
- allowed_read_paths: {ALLOWED_READ_PATHS}
- allowed_write_paths: {ALLOWED_WRITE_PATHS}
- allowed_external_calls: {ALLOWED_EXTERNAL_CALLS}
- blocked_external_calls: {BLOCKED_EXTERNAL_CALLS}
- validation_expectations: {VALIDATION_EXPECTATIONS}
- test_expectations: {TEST_EXPECTATIONS}
- no_op_triggers: {NO_OP_TRIGGERS}
- human_review_required: {HUMAN_REVIEW_REQUIRED}
- not_available_reason: {NOT_AVAILABLE_REASON}
## Observable Environment
Record branch, route, schema, deployment target, source-document, file-intake, date/time, safety-critical, telemetry, and external-system constraints that affect this handoff. Memory is not current reality. A path mention is not workspace authority. A model's confidence is not provenance.
## No-Op Triggers
When target workspace, temporal freshness, world-context, environmental constraints, evidence, namespace boundary, or required file set is missing, stale, malformed, or contradictory, the correct UAIX behavior is no-op plus human review. Do not continue by inference..uai/short-term-memory.uai
---
uai: "1.0"
type: short-term-memory
status: draft
---
# Short-Term Memory
This is the compact current working memory for the project. Keep it inside `.uai/` with the other typed UAI records so future agents have one predictable folder to load.
## 当前 Focus
- 当前 task:
- 当前 blocker:
- 当前 owner:
- 当前 evidence ledger:
## Required Read Set
- `AGENTS.md`
- `.uai/memory-maintenance.uai`
- Apply the protected-path guard before loading broad memory. Do not read, open, validate, lint, create, modify, package, export, index, inspect, or infer from `.uai/taboo.uai`, `.uai/totem.uai`, or `.uai/talisman.uai` unless a human directly names the exact artifact and exact operation.
- `.uai/identity.uai`
- `.uai/world-context.uai`
- `.uai/startup-packet.uai`
- `.uai/system-profile.uai`
- `.uai/receiver-brief.uai`
- `.uai/index.md`
- `.uai/context.uai`
- `.uai/constraints.uai`
- `.uai/progress.uai`
- `.uai/operations.uai`
- `.uai/test-plan.uai`
- `.uai/coding-standards.uai`
- `.uai/decisions.uai`
- `.uai/memory.uai`
## Hygiene Rule
Use `.uai/archives/`, `.uai/`, and `.uai/exports/` as the default generated package shape. Do not create a separate memory folder, wiki folder, or random handoff `.md` files by default. If legacy non-.uai memory, wiki-memory folders, or stray notes already exist, review them, move useful current facts into `.uai/short-term-memory.uai` or the right typed `.uai/*.uai` record, preserve durable reviewed history in the named long-term wiki/archive or `.uai/archives/` evidence, record what moved, then remove or clearly retire the mistaken path so it cannot keep steering agents.
## Principles Traceability
Principle-bearing changes must be classified as current public operating principle, governance-review principle, planned principle, or research-track principle before they affect public trust, AI 记忆, agent communication, capability description, handoff structure, privacy, accessibility, analytics, or support claims. Use UAIX Principles Charter at `/en-us/governance/principles/`, Principles Role Guidance at `/en-us/governance/principles-role-guidance/`, `docs/governance/principles-traceability-matrix.md`, and `docs/templates/principles-impact-assessment.md`.
This principles layer is governance and release-review evidence. It is not certification, endorsement, legal recognition, runtime control, SDK or CLI support, hosted import validation, automatic sync, security operations, consent center, policy office, or proof of UAI-1 conformance..uai/README.md
# 项目交接
This starter bundle is a UAI AI 记忆配置. It keeps portable, human-readable context in files that another person, team, or AI 代理 can inspect before acting.
## 数据包 Purpose
此处说明当前公开记录、证据路径和支持边界。
## Use This When
此处说明当前公开记录、证据路径和支持边界。
## Lifecycle
此处说明当前公开记录、证据路径和支持边界。
## 信任 边界
此处说明当前公开记录、证据路径和支持边界。
## Included Files
- `.uai/memory-maintenance.uai`
- `.uai/identity.uai`
- `.uai/world-context.uai`
- `.uai/short-term-memory.uai`
- `.uai/README.md`
- `AGENTS.md`
- `.uai/readme.human`
- `.uai/overview.uai`
- `.uai/current-state.uai`
- `.uai/open-questions.uai`
- `.uai/next-actions.uai`
- `.uai/risk-register.uai`
- `.uai/owners.uai`
- `.uai/agent-instructions.uai`
- `.uai/changelog.uai`
- `.uai/deployment-memory-and-test-report.uai`
- `.uai/context.uai`
- `.uai/stack.uai`
- `.uai/architecture.uai`
- `.uai/constraints.uai`
- `.uai/progress.uai`
- `.uai/operations.uai`
- `.uai/test-plan.uai`
- `.uai/style.uai`
- `.uai/coding-standards.uai`
- `.uai/decisions.uai`
- `.uai/memory.uai`
- `.uai/next-recursive-prompt.uai`
- `.uai/handoff-brief.uai`
## Maintenance Rule
Update the files that changed because project truth changed. Do not turn this bundle into a dump of old chats, private notes, raw logs, or unreviewed generated summaries.
## Review Before Sharing
- Remove secrets, credentials, private keys, tokens, and raw customer data.
- Remove internal-only strategy unless the recipient is approved for it.
- Keep support, security, legal, compliance, certification, and endorsement claims tied to public evidence.
- Make uncertain or unreviewed material explicit.AGENTS.md
# My Project AI 记忆
This file is the front door for AI work in this repository. Read it first, then load the listed `.uai` and `.uai/exports` files before planning or editing.
## Handoff Summary
- This project uses UAI AI 记忆 so future work does not depend on private chat history.
- The active bundle configuration is `project-handoff`: 此处说明当前公开记录、证据路径和支持边界。
- Confirmed operating truth belongs in these files, canonical docs, code, tests, release notes, or public records.
- LLM Wiki, old chats, generated summaries, and dropped files are background until reviewed and promoted.
## Loaded Context
@memory[.uai/context.uai]
@memory[.uai/constraints.uai]
@memory[.uai/memory.uai]
@memory[.uai/exports/manifest.json]
## Required First Response
Before broad work, the next AI should:
1. Read this file completely.
2. Read `.uai/readme.human`.
3. Load every file listed in Loaded Context.
4. Summarize the project, current state, and immediate task in 3-5 bullets.
5. Confirm constraints, trust boundaries, secrets handling, and destructive-operation limits.
6. Name the files, routes, services, docs, or data it expects to touch.
7. Name the targeted checks it expects to run, or explain why a check cannot run.
If a required file is missing, unreadable, circular, or contradictory, stop and report that before editing.
## Do Not Change Without Explicit Approval
- Do not use destructive filesystem or git operations.
- Do not expose secrets, credentials, customer data, or unapproved private material.
- Do not widen support, certification, compliance, security, or endorsement claims without evidence.
- Do not treat generated output, old chats, dropped files, or wiki notes as current truth until promoted..uai/readme.human
# My Project 人类简报
Updated: YYYY-MM-DD
This file is for humans working with AI on this project. It explains what the AI sees, protects, and needs clarified. It does not override `AGENTS.md`, `.uai/constraints.uai`, system instructions, repository rules, laws, policies, or the human's current request.
## What You Need To Know
- The AI reads root `AGENTS.md` first, then this file inside `.uai/`, then the listed context files.
- This bundle is `项目交接`.
- The trust boundary is: 此处说明当前公开记录、证据路径和支持边界。
## Things The AI Will Defend
- 当前 support boundaries.
- Private data, secrets, credentials, and customer trust.
- Existing user work in the tree.
- Review and targeted checks before public claims widen.
## Things Humans Should Make Explicit
- Whether the task may touch production, public docs, billing, legal language, security posture, or irreversible data.
- Whether the AI should update durable memory after the change.
- Which checks are required before the work is considered done..uai/overview.uai
# Project Overview
## Purpose
Describe what the project exists to do, who it serves, and what outcome matters most.
## 当前 Scope
- In scope:
- Out of scope:
- 当前 public or operational surface:
## Source Of Truth
- Code:
- Docs:
- Machine artifacts:
- 发布版本 notes or changelog:
## Success Criteria
- A new human or AI can understand the project without private chat history.
- Claims are tied to evidence.
- Constraints are visible before work begins..uai/current-state.uai
# 当前 State
## What Is True Now
- Live or supported now:
- Experimental now:
- 已计划 but not supported:
## Recently Changed
- YYYY-MM-DD:
## Active Work
- 当前 focus:
- Active owner:
- Targeted checks:
## Stale Or Risky Context
List anything that should not be trusted without rechecking..uai/open-questions.uai
# Open Questions
Use this file for questions that should block, steer, or qualify future work.
| Question | Why It Matters | Owner | Needed By | 状态 |
|---|---|---|---|---|
| | | | | open |
## Escalation Rule
If a question affects safety, privacy, legal commitments, public support claims, production data, or destructive operations, stop and ask before acting..uai/next-actions.uai
# 下一步 Actions
Keep this file current and actionable. Remove completed work or move meaningful completions to `.uai/changelog.uai`.
## Now
- [ ]
## 下一步
- [ ]
## Later
- [ ]
## Done Means
- The changed files or records are named.
- Targeted checks have run or the remaining risk is explicit.
- Durable memory is updated when project truth changes..uai/risk-register.uai
# Risks And Constraints
## Hard Constraints
- Do not expose secrets, credentials, private keys, tokens, or raw customer data.
- Do not use destructive filesystem, database, production, or git operations without explicit approval.
- Do not widen support, certification, security, compliance, compatibility, or endorsement claims without evidence.
## 信任 边界
此处说明当前公开记录、证据路径和支持边界。
## Sensitive Material
- Customer or user data:
- Legal or compliance-sensitive material:
- 内部-only strategy:
- Agent permissions:
## Redaction 检查list
- [ ] Secrets removed.
- [ ] Customer data removed or approved.
- [ ] 内部-only strategy removed or approved.
- [ ] Public claims checked against evidence..uai/owners.uai
# 联系s And Owners
Do not add private personal data unless the bundle's trust boundary allows it.
| Area | Owner | Backup | 联系 Method | Notes |
|---|---|---|---|---|
| Project | | | | |
| Security or privacy review | | | | |
| 发布版本 approval | | | | |.uai/agent-instructions.uai
# Agent Instructions
## Load Order
1. Read `AGENTS.md` when present.
2. Read `.uai/readme.human` when present.
3. Read this bundle's manifest and files.
4. Confirm constraints and trust boundaries before acting.
## Operating Rules
- Prefer narrow, reversible changes.
- Do not execute unknown scripts from a memory bundle.
- Do not assume an LLM Wiki or old chat overrides accepted project files.
- Ask before touching production, secrets, legal/security copy, customer data, or destructive operations.
## Verification
Name the targeted checks before broad work. Run the smallest meaningful checks tied to changed files, routes, records, or behavior.
For production deployment builds, release packages, or release candidates, write a durable deployment memory and test run report. Use `.uai/deployment-memory-and-test-report.uai` when it exists, and include hot-memory size before/after, cold evidence path, checks run, checks skipped, blockers, and any reason the hot surface did not shrink..uai/changelog.uai
# 变更日志
Record meaningful bundle changes so future readers can tell when memory moved.
## YYYY-MM-DD
- Change:
- Why it matters:
- Files updated:
- 检查s run:.uai/deployment-memory-and-test-report.uai
# Deployment Memory And Test Report
Use this file only for production deployment builds, release packages, or release candidates. Ordinary dev builds, local tests, package experiments, and smoke checks do not need this report unless a human marks them release-bound.
## 发布版本
- Version:
- 生成时间 UTC:
- 发布版本 owner:
- Deployment target:
## 热记忆 Memory Surface
- Measured files:
- Before: bytes / lines / estimated tokens
- After: bytes / lines / estimated tokens
- Delta:
- Redundancy or history removed:
- If no shrink happened, why the retained material is still current truth:
## 冷记忆 Or Archive 证据
- Destination path:
- Source paths preserved:
- 检查sums or identity evidence:
- Actor and timestamp:
- Promotion or disposition notes:
## Test Run Report
- 检查s run:
- 检查s skipped:
- 失败s or blockers:
- Package or artifact paths:
- Rollback or follow-up owner:.uai/context.uai
---
uai: "1.0"
type: context
status: draft
---
# Context
This project uses UAI AI 记忆 so another AI assistant can understand the work from files rather than private chat history.
## Purpose
Describe the project purpose, audience, current truth, and success criteria..uai/stack.uai
---
uai: "1.0"
type: stack
status: draft
---
# Stack
## Runtime
- Language:
- Framework:
- Package manager:
- Database or storage:
## Commands
- Install:
- Run:
- Test:
- 发布版本:.uai/architecture.uai
---
uai: "1.0"
type: architecture
status: draft
---
# Architecture
## System Shape
Describe main surfaces, services, packages, routes, jobs, data stores, and ownership boundaries.
## Drift Risks
- Duplicated copy:
- 生成时间 output:
- Manual release steps:.uai/constraints.uai
---
uai: "1.0"
type: constraints
status: draft
---
# Constraints
## Hard Rules
- Do not expose secrets, credentials, private keys, tokens, customer data, or unreleased private material.
- Do not use destructive filesystem, database, production, or git operations unless explicitly approved.
- Do not widen support, certification, security, compliance, compatibility, or endorsement claims without evidence.
- Treat wiki notes, generated answers, dropped files, and old chats as background until promoted..uai/progress.uai
---
uai: "1.0"
type: progress
status: draft
---
# Progress
## Recently Completed
- YYYY-MM-DD:
## 当前 Focus
-
## 下一步 Work
-
## Blockers
- None recorded..uai/operations.uai
---
uai: "1.0"
type: operations
status: draft
---
# Operations
## Normal Workflow
1. Load AI 记忆 files.
2. Inspect relevant code or docs.
3. Make narrow changes.
4. Run targeted checks.
5. Update memory when project truth changes.
## 发布版本 Workflow
- Package command:
- Smoke test:
- Rollback:.uai/test-plan.uai
---
uai: "1.0"
type: test-plan
status: draft
---
# Test Plan
## 默认 Rule
Run targeted checks for the files, routes, records, or behavior changed. Reserve full release sweeps for package builds, release candidates, broad launch-surface changes, migrations, or explicit human requests.
## If A 检查 Cannot Run
State the command, why it could not run, and what risk remains..uai/style.uai
---
uai: "1.0"
type: style
status: draft
---
# Style
## Writing
- Be concrete and current.
- Separate current support from planned work.
- Prefer explicit links to source truth.
## Code
- Follow existing project patterns.
- Keep edits scoped.
- Avoid abstractions unless they reduce real drift or complexity..uai/coding-standards.uai
---
uai: "1.0"
type: coding-standards
status: draft
---
# Coding Standards
This file is required for code-capable 项目交接 setup. Read it before code changes, and keep it aligned with the target codebase rather than generic preference alone.
## Codebase Reflection
- Inspect the codebase before drafting or changing standards.
- Identify the good parts already present: naming, layout, shared helpers, test style, validation, build commands, deployment flow, security boundaries, and owner preferences.
- Preserve those good parts as the first source of project-specific standards.
- If the project is new, create an initial standard from the selected language, framework, package manager, test runner, deployment target, and owner instructions.
## Required 默认s
- Prefer DRY design and do not repeat yourself when a shared helper, registry, template, fixture, or typed record can remove real duplication.
- Apply "once and only once": each business rule, route definition, schema shape, version value, support claim, validation rule, and deployment fact should have one canonical owner whenever practical.
- Apply SOLID principles by default: single-purpose units, extension without risky rewrites, substitutable contracts, narrow interfaces, and dependency direction that keeps policy decoupled from implementation details.
- Keep changes scoped, reversible, and aligned with existing architecture.
- Use structured APIs, parsers, and framework helpers instead of brittle string manipulation when available.
## Automated Testing
Automated testing is required no matter what language or framework the project uses. Record unit, integration, smoke, lint, type, format, route, package, or deployment checks in `.uai/test-plan.uai`.
For each code change, run targeted automated checks for the touched behavior. If no harness exists, create or document the smallest repeatable automated check before relying on manual verification. If a check cannot run, record the command, reason, and residual risk..uai/decisions.uai
---
uai: "1.0"
type: decisions
status: draft
---
# Decisions
Record accepted decisions, why they were made, and what would cause a reversal..uai/memory.uai
---
uai: "1.0"
type: memory
status: draft
---
# AI 记忆
AI 记忆 is durable, reviewable context that lets a future AI continue useful work without relying on private chat history.
## 数据包 Configuration
- 数据包: 项目交接
- Use case: 此处说明当前公开记录、证据路径和支持边界。
- 信任 boundary: 此处说明当前公开记录、证据路径和支持边界。
## UAI AI 记忆 And LLM Wiki
Use UAI AI 记忆 for compact, portable working packets. Use an LLM Wiki for deep, long-lived internal documentation. Use both when a durable knowledge base needs a reviewed export, handoff packet, onboarding packet, audit packet, or agent-ready task context.
## Promotion Rule
1. Capture raw knowledge in notes, wiki pages, or source documents.
2. Review for accuracy, ownership, privacy, and support boundaries.
3. 提升 accepted project truth into AI 记忆, canonical docs, code, tests, release notes, or roadmap state.
4. Keep unreviewed material out of governing instructions..uai/next-recursive-prompt.uai
{
"uai_version": "1.0",
"profile": "uaix.next-recursive-prompt.v1",
"schema_version": 1,
"scope": {
"scope_id": "{{PACKAGE_SLUG}}",
"scope_path": ".",
"local_uai_root": ".uai/",
"code_scope": true,
"scope_basis": ["code", "automation", "executable-workflow", "code-like-artifact"],
"requirement_rule": "next-recursive-prompt.uai is required for agents that deal with code, automation, executable workflows, or code-like artifacts. It is not required for agents that don't deal with any coding.",
"out_of_scope_rule": "next-recursive-prompt.uai is not required for agents that don't deal with any coding.",
"source_boundary": "Derived from authoritative package files. This record is not a second source of truth."
},
"lifecycle": {
"status": "active",
"generated_at_utc": "{GENERATED_AT_UTC}",
"valid_until_utc": "{VALID_UNTIL_UTC}",
"attempt": 1,
"supersedes_checksum": ""
},
"activation_policy": {
"activation_rule": "Use the stored next_loop plan when the user indicates continuation or resume intent, including keep going, continue, do the next thing, resume, proceed, or use the next recursive prompt.",
"relevance_review_rule": "When a new user request directly relates to the stored next_loop, review this file for useful plan ideas before discarding or superseding it.",
"intake_precedence_rule": "For packages using 代理文件交接, active Content or Improvement files that relate to the current prompt supersede or expand the stored next_loop. Intake must still lead to concrete project work, hot-memory update, ledger evidence, and archive movement or a recorded keep-active reason.",
"current_instruction_rule": "When the user provides a specific unrelated instruction, current user instruction governs the turn and overwrites the stored next-loop plan.",
"regeneration_rule": "After accepted work, update authoritative .uai records first, then regenerate .uai/next-recursive-prompt.uai from those records.",
"non_activation_examples": ["A new unrelated feature request.", "A direct request to inspect, test, deploy, or explain a different target.", "A human correction that changes the work objective."]
},
"objective": {
"task_id": "{TASK_ID}",
"summary": "{CURRENT_GOAL}",
"priority": "{PRIORITY}",
"done_criteria": ["{SUCCESS_EVIDENCE}", "Authoritative .uai records are updated before this derived file is regenerated.", "No secrets, raw traces, or unreviewed cold-memory claims are copied into hot memory."]
},
"authoritative_refs": {
"agents_md": "AGENTS.md",
"readme_human": ".uai/readme.human",
"memory_maintenance": ".uai/memory-maintenance.uai",
"identity": ".uai/identity.uai",
"world_context": ".uai/world-context.uai",
"short_term_memory": ".uai/short-term-memory.uai",
"startup_packet": ".uai/startup-packet.uai",
"system_profile": ".uai/system-profile.uai",
"receiver_brief": ".uai/receiver-brief.uai",
"coding_standards": ".uai/coding-standards.uai",
"stack": ".uai/stack.uai",
"architecture": ".uai/architecture.uai",
"context": ".uai/context.uai",
"constraints": ".uai/constraints.uai",
"progress": ".uai/progress.uai",
"current_state": ".uai/current-state.uai",
"decisions": ".uai/decisions.uai",
"next_actions": ".uai/next-actions.uai",
"test_plan": ".uai/test-plan.uai",
"manifest": ".uai/exports/manifest.json"
},
"resume_context": {
"current_truth_summary": ["Use .uai/short-term-memory.uai for current truth.", "Use this file only to resume the next loop quickly after authoritative memory has been read.", "If this summary conflicts with authoritative refs, stop and regenerate this file from those refs."],
"recent_changes": [],
"active_blockers": [],
"why_now": "A code-bearing package needs a compact next-loop resume artifact after authoritative files have been loaded."
},
"next_loop": {
"mode": "implement-then-verify",
"first_response_contract": {
"must_report": ["loaded context", "hard constraints", "expected touchpoints", "targeted checks"],
"max_bullets": 6
},
"prompt": "Continue from this UAIX package when the user asks to continue, keep going, do the next thing, resume, or gives a directly related request. Read authoritative_refs first, treat .uai/next-recursive-prompt.uai as derived hot-memory only, use relevant plan ideas, and enumerate active 文件交接 intake; related intake supersedes or expands the stored loop and still requires project work before archive movement. Perform the next safe work chunk, run targeted checks, update .uai memory, regenerate this file from authoritative records, and provide the next recursive prompt. If the user gives a specific unrelated request, follow the current user instruction and regenerate this file after accepted work.",
"ordered_steps": [
"Read AGENTS.md and .uai/memory-maintenance.uai before broad memory loading.",
"Apply the protected-path guard from .uai/memory-maintenance.uai; do not read, scan, validate, lint, create, modify, package, export, index, inspect, or infer from protected operator-only artifacts without exact human authorization.",
"Read the remaining ordinary .uai files named in authoritative_refs for the declared package scope.",
"Review .uai/next-recursive-prompt.uai for relevant ideas when the current request continues, resumes, or directly relates to the stored next loop.",
"When 代理文件交接 is enabled, enumerate active Content and Improvement files; related intake supersedes or expands this next loop and must produce project work before archive movement.",
"Verify workspace, identity, world context, memory-maintenance policy, constraints, coding standards, stack, architecture, current state, and test plan.",
"Process active intake before unrelated work when file handoff is enabled.",
"Implement the smallest safe improvement that advances the stated objective.",
"Run targeted automated checks and record skipped checks with reasons.",
"Update short-term memory, progress, test plan, and this derived next-recursive prompt.",
"Report changed files, tests, blockers, and the next recursive work prompt."
],
"if_blocked": {
"action": "emit-blocked-state",
"required_updates": [".uai/progress.uai", ".uai/current-state.uai", ".uai/next-actions.uai", ".uai/next-recursive-prompt.uai"],
"human_escalation_reason_template": "State the blocker, the safe next step, and the precise approval or evidence needed."
}
},
"checks": {
"required": ["PHP lint for touched PHP files", "JS syntax check for touched browser assets", "JSON/XML parse for touched machine records", "Playwright or rendered-route checks for touched wizard UI when available", "git diff --check"],
"not_required_for_this_scope": [],
"last_known_results": []
},
"writeback_policy": {
"authority_rule": "Derived hot-memory resume artifact; not a second source of truth. Authoritative .uai records win on conflict. Regenerate from authoritative handoff files after meaningful work.",
"must_update_before_success": [".uai/short-term-memory.uai", ".uai/progress.uai", ".uai/test-plan.uai", ".uai/intake-outcome-ledger.uai when file handoff is enabled", ".uai/next-recursive-prompt.uai"],
"update_decisions_if_changed": ".uai/decisions.uai",
"never_copy_into_hot_files": ["raw traces", "secrets", "private customer data", "large tool logs", "unreviewed cold-memory claims"],
"conflict_rule": "Authoritative .uai records win on conflict. Regenerate this file from authoritative handoff files before using it again."
},
"security": {
"approval_required_for": ["production deploy", "destructive repository operations", "schema boundary changes", "public support-claim widening"],
"no_op_triggers": ["missing_authoritative_ref", "stale_constraints", "integrity_mismatch", "scope_conflict", "conflict_with_human_instruction", "conflict_with_repository_policy"],
"escalation_triggers": ["support boundary would widen", "runtime behavior would be implied", "non-coding package would be made to look code-required", "code-bearing package lacks required coding memory"],
"local_policy_wins": true
},
"cold_memory": {
"refs": []
},
"provenance": {
"trigger": "starter-template",
"generated_by": "UAIX AI 记忆 starter template",
"runtime_id": "",
"issued_at_utc": "{GENERATED_AT_UTC}"
},
"integrity": {
"canonicalization": "canonical-json",
"yaml_mirror_allowed": false,
"checksum": "sha256:{RECEIVER_COMPUTES_AFTER_WRITE}",
"source_digests": [],
"signatures": []
}
}.uai/handoff-brief.uai
# Handoff Brief
## 传输 Context
- What is being transferred:
- From:
- To:
- Effective date:
## Acceptance Criteria
- The recipient can explain current state and constraints.
- Open questions are acknowledged.
- Required checks and next actions are clear.
- 信任-boundary and redaction review is complete.
## Handoff Risks
- Missing context:
- Unsupported claims:
- Sensitive material:
- Production or customer impact:Plain-Language Summary
OpenAI is building better ways for AI 代理s to do work. That does not kill 项目交接. It changes what 项目交接 should claim.
项目交接 should not try to be an agent runner. It should be the thing that tells any agent: here is the project, here is what matters, here is what changed, here are the rules, here are the decisions already made, here is what you must verify, and here is what you are not allowed to do without a human.
OpenAI runs the work. UAIX 项目交接 preserves the project memory.
当前 Support 边界
- This page publishes the draft
AGENTS.md,readme.human, and.uaihandoff pattern for public review and early use. - The visible starter ZIP is current and is generated from canonical templates and manifests.
- Hosted
.uaiupload/import validation, automatic repository writes, automatic LLM Wiki sync, SDK, CLI, certification, and endorsement support remain planned until public tooling, fixtures, validation behavior, and release evidence exist. - Do not describe a project as certified or endorsed by UAIX just because it uses
AGENTS.md,readme.human, or.uaifiles. - When a handoff becomes public release evidence, attach the relevant 验证器 result, 一致性包 evidence, Implementation record, and 变更日志 entry.
Related Records
- Using 项目交接 With OpenAI Agents And CodexSeed OpenAI-centered workflows with portable repo memory.
- Using 项目交接 With Coding AgentsKeep Codex, Claude Code, Cursor, Copilot, and Gemini Code Assist on the same local handoff truth.
- 项目交接 上下文预算Keep AGENTS.md, .uai/readme.human, and .uai files compact while long history moves to cold memory.
- 代理文件交接Make dropped files visible, reviewed, and dispositioned before broad work.
- AGENTS.md .uai Linking 规范ificationRead link syntax, loader behavior, and record-shape background.
- 路线图检查 current versus planned adapter, validator, schema, SDK, CLI, and certification boundaries.