Skip to content

docs: one authoritative table of every behaviour keyed off isSystem (demand 1 of #4707, maintainer-ruled 2026-08-06) #6782

Description

@os-zhuang

Part of #4707. Execution sub-card cut by the triage seat per the maintainer's 2026-08-06 ruling recorded on that thread (demand 1 = do; demand 2 = decided, do NOT split the flag — that verdict is content for this table, see below).

Task

Write one authoritative table in content/docs listing every behaviour the platform keys off isSystem: true on a write, maintained in one place as the authority. The three known rows, re-verified on origin/main @ e1e7629:

#packagebehaviouranchor
1objectqlapplySystemFields does not inject owner_id — the row is written with no platform ownerpackages/objectql/src/registry.ts (applySystemFields)
2write pipelinereadonly stripping is bypassed — a readonly field CAN be writtensee also #6640 for the INSERT-side preserveAudit note
3plugin-sharinggrant materialisation is skipped — the record-write hooks return early, so no sys_record_share rows are created until boot backfillpackages/plugins/plugin-sharing/src/rule-hooks.ts:157, :165, :180, :194

The dev's first job is the sweep the parent card asked for: grep every isSystem consumer across packages and confirm whether a fourth behaviour exists — the table is how it would be found. Behaviour 3's observability half is NOT this card (sibling identity-lane card covers the INFO line).

Must include: the recorded decision on demand 2

The maintainer ruled (#4707, 2026-08-06): the isSystem concept is deliberately NOT being split into separate ownership/readonly/sharing switches — shipped semantics, no business pull, and a three-switch combinatorial surface is judged more error-prone for AI authors than one flag. The ruling explicitly asks that this trade-off be written into the table as a known decision, so readers stop re-proposing the split.

Scope

  • content/docs only (devx lane); no behaviour changes anywhere.
  • ⛔ Do not touch docs/adr/** (2026-08-08 standing discipline: ADRs are maintainer-merged only) and do not touch content/docs/releases/.

Refs: #4707 (anchor card — demands 2 and closure ride on the sub-cards landing), hotcrm#622 / #613 / #640 (the three app-side bugs), #4698.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions