openmeld
AGENTS.md1.4k starsChanged 38 days agoMITView on GitHub
AGENTS.md is the high-signal router for coding agents in this repository. Read this file first, then read only the scoped owner documents under developing/ that match the task. Do not use this file as a full architecture manual, implementation guide, migration plan, or debugging runbook. For the documentation system itself, read developing/README.md. For stable repository vocabulary, read developing/glossary.md. For implementation, diagnosis, review, or planning that requires engineering judgment, use the public Practical Engineering skill (practical-engineering). Use it to keep scope…
1 other project uses a version of this.
Trending
More talk lately.about the whole repository
Most recently taken up by
- amplifthq/opentagword for word, first seen Oct 25, 2026
Who's talking about amplifthq/openmeld
- sudosubin/agents.nix“agent-skills.github.amplifthq.openmeld: 0.3.294 → 0.3.295”GitHub · Nov 13, 2026
- sudosubin/agents.nix“agent-skills.github.amplifthq.openmeld: 0.3.293 → 0.3.294”GitHub · Nov 12, 2026
- sudosubin/agents.nix“agent-skills.github.amplifthq.openmeld: 0.3.291 → 0.3.293”GitHub · Nov 11, 2026
- sudosubin/agents.nix“agent-skills.github.amplifthq.openmeld: 0.3.290 → 0.3.291”GitHub · Nov 6, 2026
- sudosubin/agents.nix“agent-skills.github.amplifthq.openmeld: 0.3.288 → 0.3.290”GitHub · Nov 3, 2026
The biggest 5 of 31 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 31
Talked about on GitHub (31 times).
On GitHub · 31
- Nov 13, 2026agent-skills.github.amplifthq.openmeld: 0.3.294 → 0.3.295 — sudosubin/agents.nix0 reactions
- Nov 12, 2026agent-skills.github.amplifthq.openmeld: 0.3.293 → 0.3.294 — sudosubin/agents.nix0 reactions
- Nov 11, 2026agent-skills.github.amplifthq.openmeld: 0.3.291 → 0.3.293 — sudosubin/agents.nix0 reactions
- Nov 6, 2026agent-skills.github.amplifthq.openmeld: 0.3.290 → 0.3.291 — sudosubin/agents.nix0 reactions
- Nov 3, 2026agent-skills.github.amplifthq.openmeld: 0.3.288 → 0.3.290 — sudosubin/agents.nix0 reactions
26 more on GitHub
- Nov 2, 2026agent-skills.github.amplifthq.openmeld: 0.3.284 → 0.3.288 — sudosubin/agents.nix0 reactions
- Nov 1, 2026agent-skills.github.amplifthq.openmeld: 0.3.281 → 0.3.284 — sudosubin/agents.nix0 reactions
- Oct 29, 2026agent-skills.github.amplifthq.openmeld: 0.3.279 → 0.3.281 — sudosubin/agents.nix0 reactions
- Oct 29, 2026agent-skills.github.amplifthq.openmeld: 0.3.278 → 0.3.279 — sudosubin/agents.nix0 reactions
- Oct 28, 2026agent-skills.github.amplifthq.openmeld: 0.3.276 → 0.3.278 — sudosubin/agents.nix0 reactions
- Oct 28, 2026agent-skills.github.amplifthq.openmeld: 0.3.274 → 0.3.276 — sudosubin/agents.nix0 reactions
- Oct 28, 2026agent-skills.github.amplifthq.openmeld: 0.3.273 → 0.3.274 — sudosubin/agents.nix0 reactions
- Oct 26, 2026agent-skills.github.amplifthq.openmeld: 0.3.272 → 0.3.273 — sudosubin/agents.nix0 reactions
- Oct 23, 2026agent-skills.github.amplifthq.openmeld: 0.3.271 → 0.3.272 — sudosubin/agents.nix0 reactions
- Oct 22, 2026agent-skills.github.amplifthq.openmeld: 0.3.270 → 0.3.271 — sudosubin/agents.nix0 reactions
- Oct 22, 2026agent-skills.github.amplifthq.openmeld: 0.3.267 → 0.3.270 — sudosubin/agents.nix0 reactions
- Oct 21, 2026agent-skills.github.amplifthq.openmeld: 0.3.264 → 0.3.267 — sudosubin/agents.nix0 reactions
- Oct 17, 2026[Candidate] amplifthq/openmeld/release/openmeld-cli-skill - openmeld-cli — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 16, 2026agent-skills.github.amplifthq.openmeld: 0.3.263 → 0.3.264 — sudosubin/agents.nix0 reactions
- Oct 16, 2026[Candidate] amplifthq/openmeld/.claude/skills/release-runbook - release-runbook — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 16, 2026[Candidate] amplifthq/openmeld/.claude/skills/openmeld-changelog - openmeld-changelog — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 16, 2026[Candidate] amplifthq/openmeld/.claude/skills/docs-lifecycle-scan - docs-lifecycle-scan — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 16, 2026agent-skills.github.amplifthq.openmeld: init at 0.3.263 — sudosubin/agents.nix0 reactions
- Oct 15, 2026[Candidate] amplifthq/openmeld/.agents/skills/writing-tests - writing-tests — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 15, 2026[Candidate] amplifthq/openmeld/.agents/skills/react-doctor - react-doctor — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 15, 2026[Candidate] amplifthq/openmeld/.agents/skills/postgresql-planning - postgresql-planning — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 15, 2026[Candidate] amplifthq/openmeld/.agents/skills/openmeld-changelog - openmeld-changelog — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 15, 2026[Candidate] amplifthq/openmeld/.agents/skills/fixing-flaky-tests - fixing-flaky-tests — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 15, 2026[Candidate] amplifthq/openmeld/.agents/skills/debugging-ci-failures - debugging-ci-failures — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 7, 2026feat: share selected connection health and bounded native API reads — amplifthq/open-connector0 reactions · 2 comments
- Oct 6, 2026feat: support selected GitHub connections for Git streams — amplifthq/open-connector0 reactions · 1 comment
Other versions1 project uses a version of this.
Word for word · 1
- amplifthq/opentag★ 1.4k100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,439 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository12 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- CLAUDE.mdCLAUDE.md
- debugging-ci-failuresSkill
- fixing-flaky-testsSkill
- openmeld-changelogSkill
- postgresql-planningSkill
- react-doctorSkill
- writing-testsSkill
- docs-lifecycle-scanSkill
- openmeld-changelogSkill
- release-runbookSkill
- wake-traceSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
58 rules. About 1 is common, 38 are distinctive, and 19 are very specific to this project.
≈1
Common · estimate
Many files like this have a rule of this kind.
≈38
Distinctive · estimate
This author's own choices. Worth a look.
19
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 5
Read this file first, then read only the scoped owner documents under developing/ that match the task.
- Distinctive: line 21
If the skill is not installed and its public source cannot be reached, do not block the task on setup.
- Very specific: line 60
Read developing/README.md when you need the documentation map.
- Distinctive: line 61
Read only the owner docs that match the touched scope.
- Distinctive: line 62
Read source code, schemas, and tests before trusting a document that might be stale.
- Distinctive: line 70
Use these owner documents:
- Distinctive: line 123
Use one stable term for one concept across code, schemas, APIs, docs, and product copy.
- Distinctive: line 125
Prefer explicit contracts, single sources of truth, and root-cause fixes over fallback behavior, duplicated state, or local patches.
- Distinctive: line 127
Treat duplicate facts, parallel authority paths, and dual-track state as high-severity product risks.
- Distinctive: line 131
Do not hard-splice behavior by reading private implementation state across owner boundaries when a contract or projection should exist.
- Distinctive: line 141
Do not add fallback/default behavior unless the owning contract explicitly calls for it.
- Distinctive: line 147
Keep user-facing progress simple: current outcome, one next action, and a diagnostic path when useful.
- Distinctive: line 156
Avoid "temporarily correct" implementations that pass the current task while preserving inconsistent terminology, half-migrated structure, …
- Very specific: line 159
Use one stable name for one concept across files, directories, symbols, schemas, APIs, tests, docs, and product copy.
- Distinctive: line 167
Do not leave half-renamed, half-migrated, or semantically misleading structures behind.
- Distinctive: line 169
When introducing a new pattern, make the owner boundary, naming, and intended extension point clear from the surrounding code.
- Distinctive: line 171
If existing structure is misleading but cleanup is larger than the task, avoid reinforcing it and call out the follow-up clearly.
- Very specific: line 178
Use zod/v4, derive shared types from schemas, prefer safeParse on runtime/request paths, and preserve shared external error semantics.
- Common: line 198
Do not compare, store, or forward raw password strings with leading or trailing whitespace.
- Distinctive: line 206
Before starting a task, re-read the user goal and choose the scoped owner docs that apply.
- Very specific: line 213
Use Agent Experience Feedback only for firsthand product bugs or experience gaps confirmed in current origin/main that you will not take on …
- Distinctive: line 221
Follow the owner's current-origin evidence rule for a recurrence or new bug.
- Distinctive: line 222
Keep uncertain symptoms and development or validation findings in the owning task or PR.
- Distinctive: line 224
Use focused checks while implementation or blocker-capable review can still change the code.
- Distinctive: line 231
Commit hooks check staged files.
- Distinctive: line 234
Do not bypass hook failures.
- Very specific: line 235
Before handing off a PR, map fully resolved issues to closing keywords in its description and verify GitHub's closing links.
- Very specific: line 243
Before declaring a user-, operator-, integrator-, or contributor-visible change done, decide whether it needs an OpenMeld Changelog entry …
- Very specific: line 246
Before declaring a change done, answer explicitly: does this change violate any rule in the scoped developing/architecture/ owner documents?
- Very specific: line 254
Prefer shared @openmeld/ui Fluid composition.
- Distinctive: line 259
Avoid proximity or gap activation for destructive choices, mixed clickability, large empty spaces, or rows that move during scrolling.
- Distinctive: line 261
Do not execute stale roadmap items directly.
- Distinctive: line 263
When a task specializes an existing object (a special Space kind, member role, or profile kind), inventory the parent's full user-visible …
- Distinctive: line 269
Do not modify unrelated dirty files.
- Distinctive: line 270
If related changes conflict with the task, pause only the conflicting part and ask for resolution.
- Distinctive: line 272
Never revert, overwrite, or delete external changes unless the user explicitly asks.
- Very specific: line 274
Use rg / rg --files for search.
- Very specific: line 275
Use apply_patch for manual edits.
- Distinctive: line 276
Keep tracked docs in English.
- Very specific: line 277
Use dev-tmp/ only for local temporary material.
- Very specific: line 285
Use .agents/skills/fixing-flaky-tests/SKILL.md only when investigating intermittent failures.
- Distinctive: line 289
Read the repository files directly when your agent does not discover them.
- Distinctive: line 295
Do not weaken tests just to pass.
- Distinctive: line 301
Use the smallest verification gate that proves the change:
- Very specific: line 311
Use the trusted current-main Final Candidate entrypoint from developing/engineering/agent-native-delivery.md for planning, the one normal …
- Very specific: line 315
If affected scripts need a base ref, fetch it or set OPENMELD_AFFECTED_BASE.
- Very specific: line 321
When a change touches CLI, OpenMeld Service carrier files, OpenMeld-managed skills, daemon/runtime schemas, Prepare Session schemas, shared …
- Distinctive: line 350
Use Agent Browser when browser automation can run in an isolated agent-controlled browser and does not need the user's real Chrome state.
- Very specific: line 352
Use the Codex Chrome Plugin when OpenMeld Web smoke needs the user's real Chrome profile, existing login state, existing tabs, Chrome …
- Distinctive: line 355
Use Playwright or Playwriter when the task is to create, run, or reproduce a reusable browser automation test script.
- Distinctive: line 357
If the user explicitly asks for Codex Chrome Plugin, Agent Browser, Playwright, or Playwriter, use the requested tool unless it is …
- Distinctive: line 383
Before Workers, KV, R2, D1, Durable Objects, Queues, Vectorize, Workers AI, or Agents SDK work, re-check current Cloudflare docs and limits.
- Very specific: line 387
After Worker env names, bindings, wrangler.jsonc, or secrets.required changes, run the relevant type generation and env-contract …
- Distinctive: line 393
Commit only when the user asks.
- Distinctive: line 394
Commit messages must be English and follow conversational commits.
- Distinctive: line 395
Do not stage unrelated worktree changes.
- Very specific: line 396
Do not bypass pre-push hooks with --no-verify when pushing main.
- Distinctive: line 400
Before committing docs-only changes, run at least:
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Purpose
AGENTS.md is the high-signal router for coding agents in this repository.
Read this file first, then read only the scoped owner documents under
developing/ that match the task. Do not use this file as a full architecture
manual, implementation guide, migration plan, or debugging runbook.
For the documentation system itself, read developing/README.md.
For stable repository vocabulary, read developing/glossary.md.
Engineering Judgment
For implementation, diagnosis, review, or planning that requires engineering
judgment, use the public
Practical Engineering
skill (practical-engineering). Use it to keep scope outcome-first, choose the
smallest coherent root-cause correction, match validation effort to real risk,
and stop when the requested result is honestly proven.
If the skill is not installed and its public source cannot be reached, do not block the task on setup. Apply those four principles directly from this router and continue with the smallest evidence-backed path to the requested outcome.
This skill is decision guidance, not extra ceremony. It does not replace explicit user instructions, OpenMeld owner documents, production guardrails, or delivery and release rules. Skip it for factual answers and purely mechanical edits.
Production Guardrails
- Workstation Wakes follow RuntimeCoordinator; Remote Agent native delivery is the only exception:
OpenMeld Web Space Wake -> RuntimeCoordinator -> current-account local OpenMeld Service / daemon -> local agent execution -> Space reply, explicit visible stopped outcome, or explicit visible failure- Production constraints apply. Do not assume broad unsafe changes, compatibility breaks, migration shortcuts, or state rewrites are acceptable.
- RuntimeCoordinator is the in-flight workstation Wake execution truth.
- Current Wakeability and one concrete Wake execution are separate facts. Current Wakeability must not hide a real Wake failure.
- A running execution must not be failed by a fixed total wall-clock timeout while RuntimeCoordinator receives fresh accepted/running lifecycle or progress evidence.
- PostgreSQL dispatch records are a durable ledger and query projection. They record what happened; they do not decide in-flight execution truth.
- The Space durable dispatch outbox is the reliable workstation Wake conveyor. Queue is scoped to hosted recovery and other Queue message families; neither owns execution or final outcome.
- Local OpenMeld Service is the local execution carrier and trust boundary. It does not own Space truth, Agent Profile identity, final Wakeability, or RuntimeCoordinator execution truth.
Context Routing
Start narrow:
- Read
developing/README.mdwhen you need the documentation map. - Read only the owner docs that match the touched scope.
- Read source code, schemas, and tests before trusting a document that might be stale.
In an isolated worktree without a local CodeGraph index, use rg for bounded
source discovery. Initialize CodeGraph only when deeper structural or call-path
analysis justifies a separate worktree-local index; never link another
worktree's index into the current checkout.
Use these owner documents:
| Scope | Read before changing |
| Product promise, core vocabulary, setup/readiness/diagnostics product meaning | developing/product/product-model.md |
| Experience judgment: status honesty, banner precision, guidance flow, copy tone | developing/product/experience-principles.md |
| Settled decisions that must not be relitigated or "optimized" away | developing/decisions.md |
| Agent Profile identity, Binding surface semantics, workspace and Default Project preferences, Agent Controller Permission Mode, local agent selection, reply recovery | developing/product/agent-profiles.md |
| Agent Profile model/reasoning selection, vendor-model catalog, cross-client selection contract | developing/product/agent-model-selection.md |
| Space Board/Entry Brief, membership/Direct Messages, Wake/Reference, threads, replies, and publication actions | developing/product/space-collaboration.md |
Onboarding: Web first-run, in-Space "Get set up" checklist, openmeld start/openmeld setup/openmeld doctor behavior, start planner boundary | developing/product/onboarding.md |
| Organization tenancy, Center Agent identity/designation/delegation policy, Channels and Apps product semantics, Organization Documents and draft review, Information Protection, session sync, MVP scope and red lines | developing/product/organizations-and-center-agent.md |
| Projects: Organization-scoped identity, permissions, local connections, discovery, repository fingerprints, Default Project resolution, and Project-aware Wake failures | developing/product/projects.md |
| Agent Activity, local session observation, metadata privacy, presence, digests, retention, snapshots, canonical Project references, and Center Agent awareness | developing/product/agent-activity.md |
| Routines: personal/team visibility, executors, scheduling, history, target Space, tool policy, and client surfaces | developing/product/routines.md |
| Files: Team, member-private, and Space roots; audience, authorization, revisions, copies, and managed content boundaries | developing/product/files.md |
| Organization Skills: portable Agent Skills bundles, permissions, immutable releases, GitHub import, Center Agent/Flue use, Web management, CLI loading, and local-agent delegation | developing/product/organization-skills.md |
| Feedback Inbox, Feedback Issue, submission privacy, delivery modes, handling boundaries | developing/product/feedback-loop.md |
| Opportunities: Center Agent recommendation review, member decisions, Inbox projection, and recommendation-versus-execution boundary | developing/product/opportunities.md |
| Workspace Inbox, unread and attention counts, item lifecycle, source coverage, browser delivery, urgent email, notification preferences | developing/product/inbox.md |
| Progressive disclosure, context selector, personal-context rules, Wake-access authorization UX, visibility presentation | developing/product/presentation-progressive-disclosure.md |
| Remote/hosted agent execution: runtime families (workstation vs native), native delivery, Message Channel ingress/publication, model-visible tools, App actions, guardrails, expansion path | developing/product/remote-agent-runtime.md |
| Wake execution, Wakeability, RuntimeCoordinator, Runtime Transport boundaries, local Agent human interaction, final outcome, dispatch trace baseline | developing/architecture/agent-transport-contract.md |
| OpenMeld Service / daemon lifecycle, RuntimeTransportHub fast paths and current-device Project operations, account/device/lane alignment, Prepare, service health, Agent Controller Interface instruction delivery, reporting, task callbacks, and update states | developing/architecture/local-openmeld-service.md |
| Data ownership, relational projections, Opportunities, Agent Task Coordination, Dispatch Ledger, evaluation reports, native delivery and Message Channel ledgers, App connection ownership, trace selectors, Diagnostic Reports, Cloudflare evidence | developing/architecture/data-and-observability.md |
| Production Hyperdrive + PlanetScale PostgreSQL ownership, frozen D1 source, and shared-staging boundary | developing/architecture/physical-db-split.md |
| PostgreSQL planning, Amplift organization, migrations, cloud acceptance, backup and cutover | .agents/skills/postgresql-planning/SKILL.md, developing/engineering/postgresql.md |
Shared schemas, Opportunity RPC contracts, live invalidation frames, Agent Controller Interface snapshots, Agent Task Coordination, Message Channel and App connection contracts, Prepare setupBootstrap.facts, shared packages, cross-client reuse, Space password contract | developing/architecture/shared-contracts.md |
| Shared UI primitives, design tokens, Fluid components, and cross-client UI package ownership | developing/clients/shared-ui.md |
| Public website, shared brand assets, website/App origins and retained root protocols | developing/clients/website.md |
| Independent public documentation client, Fumadocs content source and presentation | developing/clients/docs.md |
| Cross-client app shell, unified Settings IA, shell/sidebar terminology, Settings capability gating | developing/clients/shell-and-settings.md |
| OpenMeld Web navigation topology and route placement, Organization-switch preservation, browser read-cache persistence, Center Agent Channels/Apps, Space UX, Wake details, setup handoff, and diagnostic surfaces | developing/clients/web.md |
| OpenMeld CLI command boundaries, Human View / Agent View, setup handoff, trace, lane safety | developing/clients/cli.md |
| Desktop GUI thin local control surface, tray/status/setup, GUI-to-CLI contract, desktop release component | developing/clients/desktop.md |
| Desktop preview download page, R2 artifact binding, and production Web download/update routes | developing/clients/desktop.md, developing/clients/web.md, developing/engineering/development-workflow.md |
CLI binary release, R2 manifest, Web download route, and setup dist= distribution switch | developing/engineering/cli-binary-release.md, developing/clients/cli.md, developing/clients/web.md |
| Agent-native development, Final Candidate validation, Actions-unavailable fallback, optional review support, merge, release concurrency, health, smoke, evidence, and failure recovery | developing/engineering/agent-native-delivery.md |
| Production release lane selection, scoped local/GitHub deploys, database and CLI rollout, Desktop impact assessment, health checks, and release reporting | developing/engineering/production-release.md |
| OpenMeld Changelog authoring, publication, historical backfill, generated projections, and GitHub release-note handoff | developing/engineering/changelog.md, then .agents/skills/openmeld-changelog/SKILL.md |
| Environment variables, Doppler local development, secret ownership, contributor onboarding, and production secret readiness | developing/engineering/environment-and-secrets.md |
| Hosted AI credits, workspace BYOK, provider admission, and real AI smoke | developing/engineering/ai-billing.md |
| Internal staging scope, isolation, guarded deployment, and staging evidence | developing/engineering/staging-environment.md |
Dev Server setup, resource budgets, status and shutdown; parallel-agent worktree ownership, OpenMeld development Spaces, local lanes, validation gates, contract rollouts, OPENMELD_HOME, real-user smoke, local component releases, DB workflow, Fresh Web Start | developing/engineering/development-workflow.md |
| Code style, lint, and formatting standards (Ultracite/Biome) | developing/engineering/code-standards.md |
| Repo-specific anti-patterns for tests, mocks, status logic, timeouts, keepalive | developing/engineering/anti-patterns.md |
| Blessed example files to copy for routes, services, DO alarms, CLI commands, queries, mocks, logging | developing/engineering/exemplars.md |
Core Invariants
- Human UX and agent UX are first-class requirements.
- Product-facing copy targets North American users and must be natural, clear, native-level English.
- Use one stable term for one concept across code, schemas, APIs, docs, and product copy.
- Prefer explicit contracts, single sources of truth, and root-cause fixes over fallback behavior, duplicated state, or local patches.
- Treat duplicate facts, parallel authority paths, and dual-track state as high-severity product risks. If a change introduces or preserves two sources for readiness, execution, identity, routing, Binding, Space reply placement, or diagnostics, report it directly.
- Do not hard-splice behavior by reading private implementation state across owner boundaries when a contract or projection should exist. Local hard reads can pass tests while creating hidden coupling, drift, and fragile bugs.
- Model correctness belongs at the architecture boundary first: one canonical owner, one writer, one read projection, and explicit contracts before local convenience.
- Optimize for the main product link and user need before local engineering neatness: a user can Wake an Agent Profile, the correct local OpenMeld Service runs it, and the Space shows a reply, explicit stopped outcome, or explicit failure.
- Do not add fallback/default behavior unless the owning contract explicitly calls for it.
- Fail closed when identity, ownership, readiness, or execution evidence is missing or mismatched.
- Preserve diagnostic context. Do not swallow errors or hide broken data behind generic success states.
- Keep user-facing progress simple: current outcome, one next action, and a diagnostic path when useful.
Codebase Clarity For Coding Agents
This repository is implemented and evolved primarily by coding agents. Agents infer architecture from existing names, file structure, and patterns, so every change must leave those signals cleaner and less ambiguous.
- Avoid "temporarily correct" implementations that pass the current task while preserving inconsistent terminology, half-migrated structure, stale files, duplicated patterns, or cleanup debt.
- Use one stable name for one concept across files, directories, symbols,
schemas, APIs, tests, docs, and product copy. If a concept is
patterns, do not introducetemplates,rules,flows, orstrategiesfor the same concept. - Make file names and directory layout reflect the current architecture and ownership, not implementation history.
- Clean obsolete names, unused helpers, stale files, misleading test fixtures, and abandoned branches of logic when they are part of the touched scope.
- Do not leave half-renamed, half-migrated, or semantically misleading structures behind.
- When introducing a new pattern, make the owner boundary, naming, and intended extension point clear from the surrounding code.
- If existing structure is misleading but cleanup is larger than the task, avoid reinforcing it and call out the follow-up clearly.
Source-Of-Truth Rules
- Shared cross-service, cross-package, cross-process, HTTP, RPC, WebSocket, CLI
JSON, or diagnostic payloads must use
packages/schemas. - Use
zod/v4, derive shared types from schemas, prefersafeParseon runtime/request paths, and preserve shared external error semantics. - Reuse
packages/agent-runtimefor Agent Controller refs, Agent Controller Permission Modes, OpenMeld Service Runtime identity, registry contracts, Prepare readiness summaries, Binding projections, command eligibility, and Core claim eligibility. - User-facing Wakeability must come from the Core-owned projection defined by
developing/architecture/agent-transport-contract.md; clients do not derive it from route-online, Binding existence, service health, completed Prepare evidence, Agent Activity, or one Wake's historical outcome. - RuntimeCoordinator finalization envelopes must use the shared schema. Do not hand-build finalization payloads or expose token secrets in diagnostics.
- Live invalidation frames are refresh signals, not state. Clients must read the owning Space/Core snapshots or projections after an invalidation instead of deriving membership, readiness, Binding, service liveness, or execution truth from the frame.
- Binding command eligibility and Core claim eligibility are policy projections only. They must not reserve leases, start execution, accept results, consume queues, or publish Space replies.
- Space password text is normalized through the shared Space password schema. Do not compare, store, or forward raw password strings with leading or trailing whitespace.
- Observability correlation is a read model, not a writer or authority.
runtimeCoordinatorExecutionIdis not a token, credential, or execution authority.
Task Rules
- Before starting a task, re-read the user goal and choose the scoped owner docs that apply.
- For a single or batch merge-and-release task, start at Merge and Release Task, then follow the linked lifecycle and component-specific release rules. Do not infer a second delivery process from workflow YAML, tool output, or old task history.
- Use Agent Experience Feedback
only for firsthand product bugs or experience gaps confirmed in current
origin/mainthat you will not take on and that have no existing repair owner. Apply the owner's evidence, repair-status, duplicate-check, and authorized Profile rules. Keep repairs owned by you or another Agent or developer in the owning task or PR, even before a repair PR exists. Do not post temporary records, duplicate reports, or repair progress to the feedback Space. Fixed or merged problems do not qualify because deployment is pending. Follow the owner's current-origin evidence rule for a recurrence or new bug. Keep uncertain symptoms and development or validation findings in the owning task or PR. - Use focused checks while implementation or blocker-capable review can still
change the code. Treat broad affected, integration, release-ready, and Final
Candidate runs as closeout evidence after the practical scope is stable, not
as an iteration loop. For late findings, apply the value-and-scope boundary
in
developing/engineering/agent-native-delivery.md: fix a high-value, coherent finding when practical, and preserve separable follow-ups without reopening the candidate. - Commit hooks check staged files. The push hook guards protected release refs; ordinary development pushes do not rerun affected tests. Run focused behavior checks before Ready based on the changed contract and its consumers. Do not bypass hook failures. Keep PRs draft while developing.
- Before handing off a PR, map fully resolved issues to closing keywords in its
description and verify GitHub's closing links. Follow the issue-linking rules
in
developing/engineering/agent-native-delivery.md; comments alone do not enable automatic closure, and partial fixes must not close an issue. - Standard Final Candidate certifies identity, trusted control, repository contracts, and path-owned database/release readiness; it does not repeat broad workspace tests. The commands, rationale, and batch flow live only in Agent-Native Delivery.
- Before declaring a user-, operator-, integrator-, or contributor-visible
change done, decide whether it needs an OpenMeld Changelog entry and, when it
does, follow
.agents/skills/openmeld-changelog/SKILL.md. - Before declaring a change done, answer explicitly: does this change violate
any rule in the scoped
developing/architecture/owner documents? For state, readiness, availability, Wake routing, or service lifecycle changes this check is mandatory acceptance criteria, not optional review flavor. If a rule must change, change the owner document in the same PR with the reasoning. - Load only files directly relevant to the task.
- For UI primitives and interaction changes, inspect the installed Fluid
Functionalism components first and read
developing/clients/shared-ui.md. Prefer shared@openmeld/uiFluid composition; install or adapt missing official primitives there instead of rebuilding menus, hover geometry, motion, or state in product components. Stable, closely spaced clickable alternatives should reuse Fluid Hover, with semantic group boundaries, disabled-item exclusion, native keyboard/focus ownership, and reduced motion. Avoid proximity or gap activation for destructive choices, mixed clickability, large empty spaces, or rows that move during scrolling. - Do not execute stale roadmap items directly. Plan from current production behavior and current owner docs.
- When a task specializes an existing object (a special Space kind, member
role, or profile kind), inventory the parent's full user-visible and
mutation surface and adjudicate every row: keep, or hide in UI and reject
server-side, always in pairs. Acceptance must include a negative checklist
of surfaces that must not appear or succeed. See
developing/engineering/anti-patterns.md#10 and #11. - Do not modify unrelated dirty files. If unrelated changes exist, ignore them. If related changes conflict with the task, pause only the conflicting part and ask for resolution.
- Never revert, overwrite, or delete external changes unless the user explicitly asks.
- Use
rg/rg --filesfor search. - Use
apply_patchfor manual edits. - Keep tracked docs in English.
- Use
dev-tmp/only for local temporary material. Do not make tracked code, tests, scripts, or docs depend ondev-tmp/.
Testing And Validation
- For test additions, assertion changes, or cleanup, read .agents/skills/writing-tests/SKILL.md.
- For CI failures, read .agents/skills/debugging-ci-failures/SKILL.md. Use .agents/skills/fixing-flaky-tests/SKILL.md only when investigating intermittent failures.
- Apply these PostHog skills through the OpenMeld test guidance. Read the repository files directly when your agent does not discover them.
- Tests must prove real behavior and fail when behavior is wrong.
- Tests are conditional risk controls, not a per-file quota. Follow the
Practical Test Standard in
developing/engineering/development-workflow.md. - For bug fixes, add or update a behavior-focused test that reproduces the bug before changing production code when practical.
- Do not weaken tests just to pass.
- Mocks of external contracts (HTTP responses, platform APIs, Durable Object
namespaces) must be built from a captured real response or the vendor's
types — never shaped after the implementation's own assumption. When an
implementation changes which contract surface it consumes, re-capture the
real shape first. See
developing/engineering/anti-patterns.md#9. - Use the smallest verification gate that proves the change:
- focused package tests/checks for narrow changes
pnpm checkpnpm buildwhen build output or package surfaces changedpnpm run check:affected,pnpm run test:affected, orpnpm run test:integration:affectedfor changed-package validationpnpm run verify:release-readywhen the diff touches CLI, OpenMeld Service carrier files, OpenMeld-managed skills, daemon schemas, orrelease/local-components-policy.jsonpnpm run verify:pre-pushorpnpm run verify:prfor broader gates
- Use the trusted current-main Final Candidate entrypoint from
developing/engineering/agent-native-delivery.mdfor planning, the one normal hosted request, or the Actions-unavailable local fallback. Never start the guarded control plane through candidate-owned package scripts. - If affected scripts need a base ref, fetch it or set
OPENMELD_AFFECTED_BASE. pnpm run verify:release-readyis the single release-readiness command for local components. When a CLI, Service, or Skills path changed, it requires a version bump and one explicitavailableorrequireddecision with a reason per changed component inrelease/local-components-policy.json. Hashes are computed at publish time; never write them by hand.- When a change touches CLI, OpenMeld Service carrier files, OpenMeld-managed skills,
daemon/runtime schemas, Prepare Session schemas, shared HTTP/RPC/WebSocket
schemas, or
release/local-components-policy.json, complete the Contract Impact Audit indeveloping/engineering/development-workflow.mdbefore declaring the change done or deploying. Do not treat unchanged contract constants as proof that no contract changed; explicitly decide whether old and new CLI, Service, Skills, Core, Gateway, and Web can interoperate through setup, Wake, Space actions, and diagnostics. - For production releases, choose the local or GitHub lane and exact scope from
developing/engineering/production-release.md. Do not deploy until its scoped verification passes; any Core deploy must prove the production CLI channel can satisfy the declared release. Never bypass the guarded entrypoint with raw deploy or publish commands. - Real-user smoke must use user-accessible entry points such as OpenMeld Web UI,
published OpenMeld CLI,
openmeld-dev,openmeld-canary, installed OpenMeld Service commands, or product-supported trace/diagnostic commands. - Internal HTTP/RPC calls, database SQL, Durable Object inspection, Queue inspection, admin scripts, manual cookie/localStorage edits, DB row edits, and direct projection edits are internal diagnostics only. They do not count as real-user smoke by themselves.
- Any dispatch, Wake, setup, handoff, or reply path must have deterministic diagnostic evidence. For Wake diagnosis, use:
openmeld service trace --space <spaceId> --client-message <clientMessageId> --target-profile <profileId> --view agentBrowser Automation For Real-User Smoke
- Use Agent Browser when browser automation can run in an isolated agent-controlled browser and does not need the user's real Chrome state.
- Use the Codex Chrome Plugin when OpenMeld Web smoke needs the user's real Chrome profile, existing login state, existing tabs, Chrome extensions, or production-like authenticated browser behavior.
- Use Playwright or Playwriter when the task is to create, run, or reproduce a reusable browser automation test script.
- If the user explicitly asks for Codex Chrome Plugin, Agent Browser, Playwright, or Playwriter, use the requested tool unless it is unavailable; then state the reason and choose the closest suitable alternative.
Lane And Local-State Safety
- The published
openmeldlane uses~/.openmeldand is real user state. - Desktop development that talks to CLI, OpenMeld Service, or Web must use an
aligned repo-root lane from
developing/engineering/development-workflow.md; do not use package-local Electron commands or mix dev/canary lanes with production endpoints or CLI state. - Tests, fixtures, e2e runs, snapshots, local harnesses, and destructive
validation must not read from or write to
~/.openmeldunless the task explicitly validates the real installed production product and the user asked for that exact validation. - Any test or script that touches OpenMeld Service lifecycle, service contracts,
bundles, runtime leases, daemon device IDs, launchd/system-service
registration, local-state repair/reset, Prepare runtime reporting, or service
state must use a fresh temporary
OPENMELD_HOME,openmeld-dev, oropenmeld-canary. - Repair before reset. Reset is last-resort destructive behavior for the active lane only.
OPENMELD_HOMEoverrides the lane root. Commands that mutate service state must make the effective lane/root clear in output or validation notes.
Cloudflare And Admin Boundaries
- Before Workers, KV, R2, D1, Durable Objects, Queues, Vectorize, Workers AI, or Agents SDK work, re-check current Cloudflare docs and limits.
- New Cloudflare resources are not integrated until the owning
wrangler.jsonc, docs, required sync scripts, and generated Worker types are updated. - After Worker env names, bindings,
wrangler.jsonc, orsecrets.requiredchanges, run the relevant type generation and env-contract verification fromdocs/cloudflare-workers-env.mdand the repo workflow.
Git And Commits
- Commit only when the user asks.
- Commit messages must be English and follow conversational commits.
- Do not stage unrelated worktree changes.
- Do not bypass pre-push hooks with
--no-verifywhen pushingmain. - Concurrent agents often share this worktree. Commit with explicit pathspecs,
never bare
git commit -a, and never amend, rebase, or rewrite a commit you did not author in the current session. - Before committing docs-only changes, run at least:
git diff --check -- AGENTS.md developingDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

