AGENTS.md · diff

git:20261028.976b940 to git:20261028.3b972ac

3 added, 3 removed. Audit A to A.

# Agents — `pascalorg/editor`
Public, open-source home of `@pascal-app/{core,viewer,editor,nodes,mcp,cli,ifc-converter}` and the standalone editor app. Consumed as npm packages and, in `pascalorg/private-editor`, as a git submodule.
- **Read `DECISIONS.md` first**: what Pascal is, the architecture invariants (E-IDs), the testing rule (T-001), and what is explicitly delegated to you. Everything else here is a map.
+ Use this map to find the owner of a change, then consult the relevant invariants in `DECISIONS.md` and the linked subsystem docs. Implementation choices are delegated to you.
## Packages
| Path | Owns |
|---|---|
| `packages/core` | Scene graph, schemas, stores, commands, registry, services — pure logic, no runtime Three.js (E-001). `src/capture/` = capture-session contracts |
| `packages/viewer` | The 3D canvas: renderers, viewer systems, presentation state. Editor-agnostic (E-001) |
| `packages/editor` | The editing experience: tools, `useEditor`, panels, floor plan, paint, shortcuts, overlays |
| `packages/nodes` | The built-in plugin `pascal:core`: one folder per node kind with its definition (E-002) |
| `packages/mcp` | MCP server, scene storage adapters, agent tools |
| `packages/cli` | Packed CLI + portable runtime |
| `packages/ifc-converter` | IFC import/export |
| `apps/editor` | Standalone app composing viewer + editor |
| `skills/` | Public agent skills shipped with the plugin (product payload, validated in CI) |
## Where to look
- Architecture detail, on demand: `wiki/architecture/` (index in its `README.md`). Read the page for the boundary you touch: a new kind → `node-definitions.md`, `node-schemas.md`; a tool or interaction → `tools.md`, `interaction-scope.md`; anything in `viewer` → `viewer-isolation.md`, `layers.md`; selection → `selection-managers.md`; an MCP tool or resource, or the `pascal-3d` skill → `agent-surfaces.md` (same contract and knowledge as the hosted AI chat).
- Reviewing a PR: `.agents/skills/review-architecture/SKILL.md`.
- Opening a PR: `.agents/skills/open-pr/SKILL.md`.
- Humans: `README.md`, `SETUP.md`, `CONTRIBUTING.md`.
`CLAUDE.md`, `GEMINI.md` and `.github/copilot-instructions.md` symlink here.
## Commands
- `bun run ci` is exactly what CI runs (check, i18n:check, skills:validate, check-types, test, build). Localization catalog and language-pack guidance lives in `i18n/README.md`. The git hooks (installed by `bun install`) are fast feedback: Biome on staged files, typecheck of the packages you changed.
+ Use the Bun version in `package.json`. Run focused checks for the changed behavior; `bun run ci` runs the full suite when needed. Localization guidance lives in `i18n/README.md`. Git hooks provide staged-file checks and typechecks for changed packages.
## Working agreements
- Rewrite when the shape is wrong; say what you are replacing and why; keep the PR to its stated goal.
- No compatibility shims, dead code or speculative abstractions; comments only for a non-obvious *why*.
- Old scenes must still load after your change (E-003).
- Never cite private-repo plan paths from this repo (E-015).
- - Claude Code, Codex and other local coding agents work within the user's requested scope. An agent may merge its own PR with green required CI on the current head, any GitHub-required reviews satisfied, and no unresolved P0/P1 comments. Honor requests to leave work for review or unmerged. No named bot, bot label or external approval service is required. Human authorization remains required for secrets or keys, billing or spend, new access, sign-ins or 2FA, destructive or access-widening production data changes, and anything sent externally under a person's name; do not ask again when already authorized. CI stays required: never weaken, skip or bypass checks or branch protection.
+ - Complete authorized work; honor review-only requests. Merge on green required CI and actual GitHub reviews, resolving P0/P1 findings. No fleet approval is needed. Reuse authorization; obtain it for secrets, spend, new access, sign-ins, destructive or access-widening data, and messages under a person's name. Preserve checks and branch protection.