formax's full system prompt: 1 version, 4,191 characters. Audited against AISPA.
The full text of 1
prompt is reproduced below,
4,191 characters in all, each read
instruction by instruction against the eight
AISPA dimensions.
Nothing was flagged as working against the person on
the other end.
1Prompts on record
0Flagged instructions
AI auditAudit source
D2 · Truthfulness & Information Integrity
D3 · Privacy & Data Protection
D4 · Tool/Action Safety
---
name: formax-system-prompt-workflow
description: Use when designing, refactoring, or debugging Formax system prompt assembly, system-reminder injection, or skills/deferred-tool prompt exposure semantics; mandatory for any change involving FORMAX_DEFERRED_TOOL_EXPOSURE and request-payload parity checks.
---
# formax-system-prompt-workflow
## Goal
Use this skill when changing system prompt assembly, reminder injection, deferred tool exposure, or skills prompt presentation.
## Read First
- `docs/contracts/prompt-tool-exposure-contract.md`
- `docs/contracts/skills-contract.md`
- `docs/contracts/semantics-contract.md` when request-scoped helper blocks affect replay or transcript semantics
Optional working notes:
- `references/parity-checklist.md`
- `references/parity-evidence-template.md`
These docs are canonical. If stable behavior changes, update them before or with code.
## Invariants
1. Keep a single prompt-profile path.
- do not reintroduce `promptProfile`, `lite`, or similar profile branches
2. Treat `FORMAX_DEFERRED_TOOL_EXPOSURE` as a linked behavior bundle.
- prompt variant, tools exposure style, and skills presentation must stay aligned
3. Keep helper blocks request-scoped and ephemeral.
- injected `<system-reminder>` blocks and deferred helper blocks must not pollute persisted long-term history
4. Only claim capabilities that Formax runtime actually implements.
- do not add CC-like capability prose before the runtime supports it
## Code Map
- `packages/core/src/prompts/system.ts`: system prompt text, variant selection, capability gates
- `packages/core/src/features/repl/controller/send/sendMainTurn.ts`: per-turn injected block order and REPL assembly
- `packages/core/src/tools/runtime/deferredToolExposureResolver.ts`: deferred tools exposure and helper-block content
- `packages/core/src/tools/modules/skill/index.ts`: skill tool description shaping and skills reminder text
- `packages/core/src/chat/engine.ts`: request assembly and injected-block persistence boundaries
- Cross-entrypoint mirrors when semantics move:
- `packages/core/src/app-server/turnRunner.ts`
- `packages/core/src/sdk/query/runner.ts`
- `scripts/repl-request-preview.ts`: quick dry-run payload preview without live network calls
## Deferred Exposure Checklist (`FORMAX_DEFERRED_TOOL_EXPOSURE=1`)
- system prompt variant resolves to `deferred_aligned`
- request contains `<available-deferred-tools>` helper content
- skills availability is delivered as a skills system-reminder helper block
- tool list starts from deferred exposure resolver output (`ToolSearch` first)
- tool-call chain remains valid: `ToolSearch(select:<tool>) -> <tool>`
## Minimal Workflow
1. Classify the change first: all-mode or deferred-only (`FORMAX_DEFERRED_TOOL_EXPOSURE=1`).
2. Update the canonical contract and prompt text first, then change resolver / wiring code.
3. Keep helper blocks request-scoped and ephemeral; do not let them leak into persisted history.
4. If semantics move, check REPL, app-server, and SDK paths together before calling the change done.
5. Run the minimum regression set below, then use request preview only as evidence, not as the only validation.
## Minimum Regression
- `bun run test -- packages/core/src/prompts/system.test.ts packages/core/src/tools/runtime/deferredToolExposureResolver.test.ts packages/core/src/features/repl/controller/send/sendMainTurn.test.ts`
- `bun run test -- packages/core/src/chat/engine.test.ts packages/core/src/config/settings/resolve.test.ts packages/core/src/sdk/query.test.ts packages/core/src/sdk/query.options-alignment.test.ts`
- `bun run test -- packages/core/src/app-server/turnRunner.test.ts` when app-server request assembly changes
- `bun run type-check`
- `bun run request:preview -- --text "执行下 pwd" --deferred` for quick payload inspection when deferred exposure is involved
## Guardrails
- Do not reintroduce prompt-profile branches (`lite`, `full`, `promptProfile`, or equivalents).
- Do not add new environment toggles for prompt capability sections; use code-level capability switches in `system.ts`.
- Do not loosen permissions or allow-list behavior just to make parity demos pass.
Questions about formax's system prompt
Does formax's system prompt contain instructions that work against the user?
No. Nothing in formax's system prompt was flagged as working against the person the product is talking to. That is a clean result across all eight AISPA dimensions, not an absence of checking — the full text was read instruction by instruction.
How long is formax's system prompt?
4,191 characters across 1 prompt on this page. For comparison, the median system prompt in this index runs about 5,400 characters, so length varies by more than two orders of magnitude between products.
How many versions of formax's system prompt are on record?
1. Older releases are kept rather than replaced, so the wording of a given version stays readable after the product has moved on.
Where did this formax system prompt come from?
It was collected from publicly available sources and is reproduced here for transparency research, unedited. This site does not extract prompts from products itself.
How was formax's system prompt audited?
Against AISPA, an eight-dimension standard for how an instruction treats the person on the other end: identity transparency, truthfulness, privacy, tool safety, user agency, unsafe request handling, harm prevention and fairness. This audit was ai audit. The method is described in the paper behind the standard.
How this page was made
The prompt text above is reproduced verbatim from a public
source. Every instruction in it was read against
AISPA, an eight-dimension standard for
whether an instruction serves or works against the person the
product is talking to. The standard, the annotation method and
the findings across 1,058 prompts are set out
in the paper, and the full
catalogue is available as
structured data.
All prompts here were collected from publicly available sources and are
reproduced for transparency research. Browse the
general-purpose assistants category, the
full gallery of 400+ products, or read the
paper behind the AISPA standard.