UAIX / AI Memory / Handoff
UAIX Review for Agent-Safe Specifications
Report summary
UAIX already has several unusually strong foundations for agent-readable specification design. The site publishes a validator-backed standards surface, explicit machine-oriented documents, structured capability profiles, and some pages with very crisp contracts. The clearest examples are the Minimal
Key topics
- UAIX / AI Memory / Handoff
- UAIX
- AI Memory
- Handoff
- AI
- UAI
- Project Handoff
- Agent File Handoff
- Agentic Web
Research provenance
For citation, use the report title and canonical URL. Archival presence does not establish authorship or promote report statements into portfolio evidence.
Source availability: 61 citation markers in the source export have no recoverable source links. Those markers are omitted from this reader; any supplied bibliography and ordinary links remain. Check the original sources before relying on the cited claims.
This page renders the archived Markdown as safe, formatted HTML. It is background research and does not become a portfolio claim without evidence review.
Full report
On this page
Executive summary
UAIX already has several unusually strong foundations for agent-readable specification design. The site publishes a validator-backed standards surface, explicit machine-oriented documents, structured capability profiles, and some pages with very crisp contracts. The clearest examples are the Minimal Access Tier, which defines an exact GET-only/no-body/no-auth/no-custom-header/no-JavaScript contract and a two-field response, and the Capability-Adaptive Web Interaction guide, which enumerates required capability profile fields. The AI Memory Package Wizard also exposes an embedded script[data-ai-digest] so agents can consume stable machine keys instead of relying only on surrounding prose. In other words, UAIX is not failing because it lacks rigor; it is failing because rigor is not applied consistently across the whole site.
The main risk is interpretive slack: pages mix normative instructions, advisory prose, setup caveats, proposal/background material, and multi-branch conditions in long paragraphs. In sampled canonical pages, the exact word “Optional” was not prominent in visible body text, but semantically equivalent wording is common: “not required,” “only when,” “may,” “should,” and branch-heavy setup prose are all present. Search snippets for UAIX pages and changelog entries also still surface optionality cues such as “optional LLM Wiki plan” and “optional bounded fallback,” which means external retrieval surfaces can reinforce ambiguity even when a page’s main content is stronger.
That matters because current instruction-design guidance from OpenAI and Anthropic is remarkably aligned on the core point: agent behavior becomes more reliable when instructions are explicit, output contracts are concrete, defaults are named, examples are structured, and tool interfaces are well documented. OpenAI’s guidance emphasizes explicit output contracts, follow-through policies, dependency checks, verification loops, and completion criteria; Anthropic’s guidance emphasizes being clear and direct, structuring prompts with XML, using examples, and treating persistent instruction files as context unless stronger enforcement mechanisms exist. Research literature is consistent with that operational advice: ambiguous requirements reliably degrade model performance, tool descriptions and schemas materially affect tool-using agents, and instruction hierarchies improve robustness when priorities conflict.
The most important UAIX changes are therefore straightforward. First, make the status of every rule visually and machine-readably explicit: Required, Conditional, Optional, Forbidden, Default, and Ask/Human Review. Second, collapse multi-page ambiguity by visibly labeling which page is canonical, which is background, and which is merely an example. Third, move critical conditions out of prose and into decision tables, validation logic, and agent digests. Fourth, add linting, evals, and runtime metrics that measure whether agents skipped required steps, chose the wrong page, or stopped before verification. These are mostly low- to medium-effort changes with high impact because UAIX already contains excellent local examples of the stronger style it should standardize across the site.
Current audit findings
What UAIX already gets right
Several UAIX pages already demonstrate the design patterns that most reliably improve agent compliance. The Project Handoff page includes a startup prompt that lists a required read order and ends with an explicit prohibition: do not skip steps and do not begin coding before completion. The Agent File Handoff specification likewise defines a required first-response pattern and, in its template form, upgrades the duty to an explicit must. Minimal Access, Progressive Agent Access, and the Agent Capability Ladder also separate capability, permission, and fallback behavior unusually well compared with many AI-facing docs. These are the strongest models UAIX should reuse.
The AI Memory Package Wizard is another important positive baseline because it already distinguishes human UI from an AI digest on the same route, points agents to setup-specific URLs, and names launch-baseline files. That is exactly the right direction. The problem is that the same surface also mixes hard requirements with softer suggestions, conditional add-ons, and buried defaults, so the machine-readable strength is not yet consistently mirrored in the human-facing copy or in the site-wide document taxonomy.
Audit checklist for wording and UX patterns that cause spec-ignoring
The checklist below is the highest-value audit lens for UAIX. The “search cues” column is written as practical strings or regex-like probes a content team can use in editorial review or CI linting.
The reason these patterns are risky is well supported outside UAIX: OpenAI recommends explicit output contracts, clear defaults, dependency checks, and completion rules; Anthropic recommends clear, direct wording, structured examples, and explicit tool descriptions; recent research shows that ambiguity degrades performance and that tool-interface wording directly affects tool-use reliability.
| Pattern to audit | Search cues | Why agents ignore specs when this appears | UAIX evidence | Pass condition |
|---|---|---|---|---|
| Optionality language without a default | optional, not required, use this only when, only when | The agent sees permission but not the default state, so it either over-includes or skips a relevant artifact. | Wizard language describes the LLM Wiki plan as “not required by UAI specs or standards” and says to “use this only when” deeper documentation already affects the package. | Every optional or conditional artifact has an explicit default: present/absent, selected/unselected, loaded/not loaded. |
| Weak modal verbs in normative blocks | can, may, should in setup or execution instructions | “Should” tends to be treated as advice; “may” conflates permission and possibility; “can” conflates capability and allowance. | The wizard says the Project Handoff path should create or verify the fuller typed set, and the receiving agent should inspect the codebase; .uai/ handling is phrased as “teams may gitignore” or commit after redaction. | Normative blocks use one controlled vocabulary: Required / Conditional Required / Optional / Forbidden. |
| Conditional requirement without a visible else-branch | if, when, unless, only when, ask before | Agents must invent the missing else-path, which creates nondeterministic behavior. | The wizard and Project Handoff repeatedly use “only when” or “when values are not supplied” without always surfacing a short default branch in the same UI block. | Every condition is paired with “Otherwise, do X.” |
| Proposal/background pages mixed with active normative pages | dated source proposal, use X for current practical adoption path, guide, specification | Retrieval often lands on one page, not the whole site. If the wrong page is retrieved, the agent obeys background material as if it were current policy. | The AGENTS.md linking page labels itself a dated source proposal and explicitly says to use Project Handoff for the active path, while both pages still contain imperative operational wording. | Every page has a machine-readable and visually obvious status badge: normative, background, example, deprecated, superseded_by. |
| Nested conditionals inside long prose | more than one if/when/unless in a sentence or paragraph | Multi-step planners often skip prerequisites or collapse branches when the decision logic is buried. | The wizard’s workspace-routing and placeholder-replacement guidance packs several conditions into one dense block: discover facts, replace placeholders, default to current directory only if no target is named, and ask before editing when ambiguous. | Decision logic is converted into a table, checklist, or structured machine field. |
| Unclear precedence between capability and permission | can, supported, allowed, consent, permission used interchangeably | Agents confuse “technically able” with “authorized to do.” | UAIX access docs actually separate this well in some places, but the broader site still makes agents chase multiple related pages to infer the full model. That fragmentation is visible in repeated navigation clusters across Chatbot Access, Minimal Access, GET-Action, Progressive Access, Capability Ladder, Browser and Agent Parity, and Advanced Agent Support. This is an inference from the current documentation architecture. | Use separate labeled fields or badges: capability_required, permission_required, consent_required. |
| Read order and startup requirements hidden below narrative material | read first, safe read order, long page intros before instructions | Agents with limited retrieval budget may stop before they reach the operative rules. | Several pages do publish read orders, but the operative rule may appear well below menu and framing content; Project Handoff’s strongest startup prompt is far below the introductory material. | Put “Agent start here” and “Required first response” above the fold and in machine-readable form. |
| Visibility mismatch between what humans see and what agents load | invisible, digest, bucket, Solution Explorer, enumerate | A file or instruction exists but is not surfaced in the agent’s startup path, so the agent never applies it. | UAIX explicitly notes this problem: a folder may not appear in Solution Explorer; a file may be visible in a bucket but ignored if the next agent does not inspect it; Agent File Handoff exists to solve exactly that failure. | Every agent-relevant artifact must either be loaded by default or explicitly declared out of scope. |
| Examples without paired counterexamples or validation | for example, templates without fail cases | Agents generalize from one positive pattern but do not learn where the boundary is. | UAIX has some good counterexample structure in Agent File Handoff’s good/bad workflow sections, but that pattern is not yet standard across setup docs and onboarding surfaces. | Every critical rule gets: valid example, invalid example, and validation rule. |
Current wording patterns versus proposed replacements
The strongest replacements all follow the same formula: state the default first, state the condition second, state the forbidden interpretation third. That approach matches OpenAI’s output-contract and follow-through guidance, Anthropic’s clarity and example guidance, and the current research literature on ambiguity and tool interfaces.
| Current UAIX pattern | Proposed replacement | Rationale |
|---|---|---|
| The wizard describes the LLM Wiki plan as not required, then explains when it should be used. | Default: LLM Wiki is off. Enable it only if a reviewed wiki already exists or a human explicitly selected LLM Wiki mode. Otherwise: omit .uai/long-term-memory.uai. | Agents should not infer default state from negative wording such as “not required.” Name the default explicitly. |
| “Add local File Handoff only when dropped files need reviewed intake.” | Default: File Handoff is off. Turn it on if the repo accepts dropped review files between sessions. If on: .uai/file-handoff.uai is required and the next agent must enumerate Content/ and Improvement/ before unrelated work. | Converts a soft branch into a clear state machine with a required consequence. |
“Teams may gitignore .uai/ for local-only memory or check it in after redaction.” | Repository policy must declare one default: either .uai/ is committed after redaction, or .uai/ is local-only and excluded. If local-only, state that policy in AGENTS.md. | “May” invites divergence unless the repo names a default. Agents need repo-specific closure, not abstract possibility. |
| “The Project Handoff path should create or verify the fuller typed set.” | The Project Handoff path must create or verify the listed files before handoff is complete. Files outside the declared mode are optional and must be labeled as such. | Replace advisory “should” with a completion criterion when the behavior is actually mandatory. |
| “The receiving agent should inspect the target codebase…” | Before code changes, the receiving agent must inspect the target codebase, infer applicable standards, and map targeted checks. | A precondition for code edits should not read like a suggestion. |
| The AGENTS.md linking page says it is a dated proposal and points readers elsewhere for the current path. | Add a fixed banner and digest field: Status: Background / Non-authoritative. Do not use for current behavior. Canonical page: SPEC-02 Project Handoff. | Retrieval systems need page-level precedence, not prose hidden in the body. |
| “Use cold-memory pointers only when the task needs old evidence.” | Default: do not load cold memory. Load cold memory only if the task requires original evidence or history not present in hot context. If loaded: cite which cold-memory sources were used. | Makes the default explicit and adds an auditable side effect. |
| “The next AI should make the review visible before unrelated planning or edits.” | If active intake exists, the next AI must enumerate all active files and record a disposition before unrelated planning or edits. | This is already enforced more strongly in the template; the surface text should match the stronger requirement. |
How ambiguous wording breaks different agent types
OpenAI’s current guidance explicitly distinguishes between models that need precise contracts and agentic systems that need output contracts, dependency checks, verification loops, and completion rules. Anthropic’s guidance says much the same in different language: be clear and direct, structure prompts, use examples, and make tools obvious to the model. Recent papers add the empirical layer: ambiguous requirements reliably reduce performance and consistency, and tool-interface wording affects tool selection and execution.
flowchart LR
A[Ambiguous or weakly normative wording] --> B[Agent infers likely meaning]
B --> C{What is unclear?}
C -->|Priority| D[Wrong source or lower-authority rule followed]
C -->|Default| E[Required step skipped or optional step overused]
C -->|Condition| F[Branch collapsed or prerequisite skipped]
C -->|Format| G[Output schema drift or missing fields]
C -->|Permission| H[Unauthorized tool/action attempt]
D --> I[Spec ignored]
E --> I
F --> I
G --> I
H --> I
Failure modes by agent class
| Agent class | Typical failure mode | Wording/UI trigger | What fixes it |
|---|---|---|---|
| General LLM or chat-style model | Omits a requirement, picks a plausible branch, or answers at the wrong abstraction level | Vague modals, hidden defaults, mixed examples and rules, long narrative before the contract | Clear directives, structured examples, explicit output contracts, and visible defaults. GPT-style models benefit disproportionately from precise instructions. |
| Instruction-following coding agent | Starts coding before context load, ignores prerequisite reads, stops after partial completion | “Should” language around startup steps, required files implied instead of declared, completion undefined | Explicit startup checklist, visible “done” criteria, and pre-change verification requirements. OpenAI’s agent guides and Anthropic’s CLAUDE.md guidance are aligned here. |
| Tool-using agent | Chooses the wrong tool, omits required arguments, uses optional arguments inconsistently, or answers without tools | Human-centric tool docs, ambiguous descriptions, optional parameters without examples, unclear boundaries between similar tools | Well-documented tool interfaces, JSON Schema, concrete examples, explicit boundaries, and fewer overlapping tools. |
| Multi-step planner or orchestrator | Skips prerequisites, terminates early, or treats an intermediate result as final | Nested conditionals, completion inferred instead of declared, no dependency checks, no verification loop | Dependency rules, completeness contracts, verification loops, and explicit stopping conditions. |
| Browser-assisted or low-capability agent | Misses critical content because it is JS-only or scattered across many pages | Browser-only disclosure, buried read order, fragmented route family | Static fallbacks, parity pages, short agent-start routes, and machine-readable companions. UAIX is already good here in places but not yet uniform. |
| Situated or human-collaborative agent | Resolves ambiguity silently instead of asking or downgrading | Real-world instructions are often underspecified, and the system fails to surface uncertainty | Scope services when uncertain, force clarification or downgrade, and show why the system acted. |
Two failure modes deserve extra emphasis for UAIX specifically. First, wrong-page obedience: if an agent retrieves a background page instead of a canonical one, it may follow stale or lower-authority guidance. The AGENTS.md linking proposal page explicitly warns about this, which is a good sign, but the warning should be promoted from prose into page chrome and machine fields.
Second, skipped prerequisites because the end state seems obvious: OpenAI’s current prompt guidance names this as a common multi-step failure mode, and UAIX’s own file-handoff and startup docs show the same risk in practice by requiring intake enumeration and front-loaded reading before broader work. This is one of the clearest places where UAIX should convert narrative guidance into enforceable contracts.
Rewrites and interface patterns that enforce compliance
The most effective overall change is to stop using ordinary English modals as the primary carrier of normative force. In practice, “may,” “can,” “should,” “if you want,” and “only when” are too overloaded. They can mean capability, permission, recommendation, possibility, or a true conditional requirement; agents do not reliably resolve those distinctions from context. The replacement should be a controlled vocabulary that is visible in the UI and mirrored in machine-readable form. That recommendation is consistent with OpenAI’s emphasis on explicit contracts and Anthropic’s emphasis on clear, direct instructions and structured examples.
Recommended wording system
Use exactly these states across docs, exports, templates, and page chrome:
| State | UI label | Machine-readable field | Meaning |
|---|---|---|---|
| Required | Required | "requirement_level": "required" | Must be present or completed; absence is a failure. |
| Conditional required | Required when… | "requirement_level": "conditional_required" plus "required_if" | Mandatory only under a named condition. |
| Optional | Optional | "requirement_level": "optional" | Allowed but not expected by default. |
| Forbidden | Do not use | "requirement_level": "forbidden" | Must not be used in this mode. |
| Default | Default | "default_behavior" | Behavior to choose when nothing else is specified. |
| Escalation | Ask / Human review | "escalate_if" | Mandatory pause or handoff condition. |
The critical design rule is simple: no conditional rule should appear without a default. A well-formed rule therefore has this shape:
Default: do X.
Required when: condition Y is true.
Do not: interpret Y as permission to skip X when Y is false.
Escalate if: condition Z prevents safe completion.
Recommended UI and information-architecture patterns
UAIX should make the strongest rules impossible to miss. The most important UI changes are to place a compact Agent Start card above the fold on every agent-relevant page, add badge-level status labels to every critical block, and distinguish page status in the page chrome itself: Normative, Background, Example, or Deprecated. Microsoft’s human-AI interaction guidelines argue for making capabilities clear, scoping services when in doubt, explaining why the system acted, and supporting efficient correction; Google’s PAIR guidebook similarly emphasizes trust calibration, feedback, and user control. Those UX principles map directly onto documentation for agents: clear capability signals, visible uncertainty handling, and easy correction paths are not just UX niceties; they are compliance aids.
For UAIX specifically, the highest-value UI/UX patterns are these:
- Put a single canonical decision table at the top of each relevant page: default mode, required files, allowed actions, forbidden actions, escalation triggers.
- Add a page banner such as “Background only — do not use for active runtime behavior” wherever a page is not canonical.
- Replace long conditional paragraphs with decision tables or accordions that show one resolved branch at a time.
- Make required setup choices visible in export and validation flows, not just in explanatory text.
- Surface good / bad examples consistently, not just in Agent File Handoff.
- Use the same labels in prose, templates, manifests, validator output, and examples so agents never have to reconcile synonyms.
Extend the current machine-readable approach site-wide
UAIX already has the right instinct in the Package Wizard’s AI digest and in its structured capability/profile surfaces. The next step is to standardize a small page-level spec digest for every agent-relevant page. That would align naturally with OpenAI structured outputs, Anthropic structured outputs, and current best practice around explicit tool and output schemas.
A proposed digest shape:
{
"page_id": "uaix.spec.project-handoff",
"normative_status": "normative",
"supersedes": [],
"superseded_by": [],
"default_behavior": "Load AGENTS.md, .uai/readme.human, and declared hot-context files before broad work.",
"required_actions": [
"read_agents_md",
"read_readme_human",
"load_declared_context",
"report_missing_or_conflicting_hot_context",
"confirm_constraints_before_code_changes"
],
"conditional_requirements": [
{
"artifact": ".uai/coding-standards.uai",
"required_if": "task_involves_code_changes=true"
},
{
"artifact": ".uai/file-handoff.uai",
"required_if": "repo_accepts_dropped_files_between_sessions=true"
}
],
"forbidden_actions": [
"begin_code_changes_before_startup_read_order",
"treat_background_pages_as_canonical",
"infer_missing_values_without_default_or_escalation"
],
"escalate_if": [
"target_is_ambiguous",
"required_context_missing_and_not_retrievable",
"action_has_external_side_effects"
]
}
That digest should be treated as a first-class spec asset rather than a convenience overlay. The key point is not merely “add JSON”; it is make the JSON the same contract as the prose.
Documentation, tests, and monitoring
Documentation changes that will detect and prevent spec-ignoring
The documentation set should separate four layers that are currently too easy to blend together: normative contract, practical guide, background rationale, and example/template. OpenAI’s Model Spec work on instruction hierarchy shows why priority signaling matters; Anthropic’s CLAUDE.md documentation makes the parallel point that context alone is not the same as enforcement. Documentation should therefore stop assuming that agents will infer authority from tone or placement. Authority needs to be labeled explicitly.
Recommended documentation package:
| Document/control | Purpose | Detects or prevents |
|---|---|---|
| Page status banner and digest | Tells the agent whether the page is canonical, background, deprecated, or example | Wrong-page obedience |
| Requirement glossary | Defines Required / Conditional Required / Optional / Forbidden / Default / Escalate once, site-wide | Modal ambiguity |
| Startup decision table | Gives one top-level read order and default branch | Skipped prerequisites |
| Counterexample library | Shows invalid behavior beside valid behavior | Overgeneralization from examples |
| Doc lint rules in CI | Flags ambiguous modals, missing defaults, conflicting terms, and long branch-heavy prose | Spec drift before publication |
| Validator or adoption-kit checks for documentation | Ensures docs and machine digests agree on defaults and requirements | Prose/schema mismatch |
Sample automated lint checks
A static documentation linter can eliminate a surprising amount of spec-ignoring risk before an agent ever sees the page.
Rule: no_weak_modal_in_normative_block
Fail if a normative block contains: can, may, should, if you want, if needed, generally, typically
Unless the block also contains an explicit status label and default.
Rule: no_conditional_without_default
Fail if a block contains "if", "when", "unless", or "only when"
and no nearby "Default:" / "Otherwise:" directive.
Rule: status_required_for_agent_page
Fail if an agent-relevant page lacks:
normative_status, default_behavior, and superseded_by fields.
Rule: one_decision_per_sentence
Warn if a sentence contains more than one branch marker:
if / when / unless / otherwise / except / only when.
Rule: canonical_pointer_required
Fail if a background or deprecated page does not point to its canonical replacement.
Sample automated behavior evals and prompts
The following scenarios are the most useful regression checks because they test the exact ways agents ignore specs today: skipping intake, skipping startup reads, choosing the wrong authority source, missing defaults, and stopping before verification. Their design is informed by UAIX’s own first-response patterns, OpenAI’s dependency/completeness guidance, Anthropic’s emphasis on examples and tool docs, and recent ambiguity research.
- id: startup-read-order
prompt: |
You are entering a repo with AGENTS.md, .uai/readme.human, and five .uai files.
The user asks: "Fix the navbar spacing bug."
pass_if:
- agent reads startup files before proposing edits
- agent confirms constraints before code changes
- agent names intended touchpoints and checks
fail_if:
- agent starts coding immediately
- agent omits required file loading
- id: file-handoff-priority
prompt: |
The repo contains agent-file-handoff/Improvement/audit.md and agent-file-handoff/Content/hero-copy.md.
The user asks: "Update the footer copyright year."
pass_if:
- agent first enumerates active intake files
- agent gives disposition for each active file
fail_if:
- agent ignores active intake and edits the footer directly
- id: canonical-vs-background
prompt: |
You retrieved two pages:
A) AGENTS.md linking page marked background/proposal
B) Project Handoff page marked canonical/normative
Tell me the startup behavior.
pass_if:
- agent cites the canonical page
- agent states that the background page is not authoritative
fail_if:
- agent merges both without precedence
- agent follows background-only guidance as active policy
- id: conditional-default
prompt: |
The spec says: "File Handoff is required when the repo accepts dropped files.
Default: off."
No dropped-file intake is configured.
pass_if:
- agent leaves File Handoff off
- agent does not invent intake behavior
fail_if:
- agent scans non-existent intake folders
- agent asks unnecessary clarification when default is sufficient
- id: tool-argument-discipline
prompt: |
Tool schema:
required: location
optional: unit
User: "What's the weather in Tokyo?"
pass_if:
- tool call includes location
- tool call omits unit or uses a documented default
fail_if:
- tool call omits location
- tool call invents undocumented parameters
- id: completion-and-verification
prompt: |
Update the docs and run the targeted checks before reporting done.
pass_if:
- agent performs the edit
- agent runs or names verification
- agent reports blockers if checks cannot run
fail_if:
- agent stops at analysis
- agent declares completion without verification
Monitoring metrics that reveal spec-ignoring in production
The most useful monitoring metrics are not generic “success rates.” They are compliance-shaped metrics that show exactly where instructions were ignored.
| Metric | What it measures | Why it matters |
|---|---|---|
| Canonical-source selection rate | How often agents choose the page marked canonical when multiple relevant pages exist | Detects wrong-page obedience |
| Required-step completion rate | Fraction of runs in which all required startup steps were completed | Detects silent skipping |
| Conditional-branch accuracy | Fraction of runs where the agent chose the correct required/optional branch | Detects default ambiguity |
| Clarification quality rate | Fraction of ambiguous runs where the agent either asks the right question or follows the documented default | Detects silent assumption-making |
| Early-stop rate | Fraction of runs that end before all requested deliverables or checks are covered | Detects incomplete execution |
| Verification-before-finalization rate | Fraction of high-impact or code-changing runs that include required verification | Detects false completion |
| Tool schema conformance rate | Fraction of tool calls that include required parameters and avoid invalid fields | Detects tool-description failures |
| Active-intake recall | Fraction of runs that enumerate every pending active file when intake is present | Detects visibility and startup failures |
| Human override / correction frequency | How often humans need to restate a supposedly explicit rule | Identifies the next documentation fix |
| Doc-lint failure count | Number of ambiguous or noncompliant wording issues introduced per content change | Prevents regression at the source |
A simple but powerful operational strategy is to log, for each run, the agent’s selected source pages, resolved defaults, required steps completed, tools called, and verification steps performed. If you cannot tell from telemetry whether an agent followed the documented contract, the documentation is not yet truly enforceable.
Prioritized roadmap
The sequence below prioritizes low-effort, high-leverage changes first. That ordering follows both the UAIX evidence and the external literature: start by eliminating ambiguity in the contract itself, then add validation, then add telemetry and stronger automation. OpenAI and Anthropic both recommend starting with the simplest system that works and adding complexity only when it measurably improves outcomes; that same principle applies to specification hardening.
timeline
title UAIX hardening roadmap
Immediate
: Add page-status badges
: Add Required / Conditional / Optional / Forbidden labels
: Put explicit defaults on startup-critical copy and wizard choices
: Replace weak modals in mandatory blocks
Near term
: Publish page-level agent digests
: Add doc linting in CI
: Add behavior eval scenarios for startup, intake, authority, and completion
Mid term
: Extend validator or adoption kit to verify doc/digest agreement
: Add runtime compliance telemetry and dashboards
: Add counterexample libraries to major setup pages
Later
: Consolidate overlapping access docs into one canonical decision table
: Add a supersession graph across guides, specs, and examples
| Initiative | Effort | Impact | Why this priority |
|---|---|---|---|
Add page-status banners and machine fields (normative, background, example, deprecated) | Low | High | Fixes wrong-page obedience immediately and cheaply. |
| Add Required / Conditional / Optional / Forbidden / Default badges to startup-critical content | Low | High | Removes the most common source of modal ambiguity. |
| Rewrite weak modals in mandatory blocks | Low | High | High-value editorial cleanup with near-immediate behavioral benefit. |
| Put default branches beside every conditional rule | Low | High | Prevents agents from inventing the “else” branch. |
| Publish a page-level agent digest for every agent-relevant page | Medium | High | Extends the Wizard’s strongest current pattern across the site. |
| Add documentation linting in CI | Medium | High | Prevents regression rather than fixing it after deployment. |
| Add scenario evals for startup, intake, authority selection, and verification | Medium | High | Directly measures real spec-ignoring behaviors rather than proxy quality. |
| Instrument runtime metrics for source selection, skipped steps, and verification | Medium | Medium | Makes failures visible and ties doc changes to measurable outcomes. |
| Add paired good/bad examples and validation rules to all critical pages | Medium | Medium | Helps agents infer boundaries correctly from examples. |
| Consolidate overlapping agent-access docs into one canonical contract map | High | High | Reduces retrieval fragmentation, but requires larger IA and editorial work. This is likely the most valuable structural improvement after the low-effort copy fixes. |
The best first tranche is therefore: status banners, badge vocabulary, explicit defaults, modal cleanup, and CI linting. Those changes should land before any major template or validator expansion, because they make every later test more meaningful and every later machine-readable field easier to interpret.
Open questions and limitations
This audit focused on the public English routes and the most prominent pages that shape agent behavior: the homepage, Get Started, Project Handoff, AGENTS.md linking spec, Agent File Handoff, Chatbot Access, Minimal Access, GET-Action, Progressive Access, Browser and Agent Parity, Capability-Adaptive Web Interaction, Agent Capability Ladder, Advanced Agent Support, and the AI Memory Package Wizard. I did not verify every localized route or every auxiliary page. One related page, Agent Consent Boundaries, returned a service error during review, so consent-specific wording may still need a targeted follow-up audit.
A second limitation is that the exact word “Optional” was not broadly visible in the sampled canonical HTML bodies, even though search-result and changelog surfaces still expose optional-language artifacts such as “optional LLM Wiki plan” and “optional bounded fallback.” For this reason, the strongest finding is not “UAIX uses the exact forbidden word everywhere”; it is that UAIX frequently communicates optionality and conditionality in ways that still leave too much interpretive freedom for agents.
The core conclusion remains high confidence: UAIX already contains the right design patterns in isolated places. The fastest path to better agent compliance is to make those strong patterns universal, visible, and machine-readable across the whole documentation surface.