Jump to content

The Principia Machina/Inputs/Refusal messages: Difference between revisions

From The Invariance Itself
help set: every draft-check message
 
m 1 revision imported
(No difference)

Revision as of 01:18, 23 September 2026

The Principia Machina: map
Reading the diagrams
Structure key
Process key
Definition of terms
Roles
Reading by audience
Start here: the walk through
The operator's guide
Tutorial: create a UUID Workspace Container (UWC)
Public Recorder inputs
Sponsors: your first agent
The specification
Contents: parts, tables, diagrams
TPS 0.5.0 (declared 2026-10-03, revision 8; machine-optimized text)
Decisions (the foundations record, one line each)


Public Recorder inputs: a help set for the people who put things into The Principia Machina - authors of a new UWC, operators, and the declaring authority. It explains; the specification governs. Start at the index; for a guided walk from a blank file to a declared UWC, follow the tutorial. Agents read the agent-facing page instead.

Purpose

Every message the draft checks can return, what it means, and how to fix it.

Explains: TPS 0.1.0, revision 4 (declared final 2026-09-22); the zone schemas the declaring authority selected on 2026-09-22 (records D92.1, D98.1, D99.1, D100.1, and for units D103.1, D104.1, D105.1; schema 0.3.0), whose text enters TPS at revision 5, and the kernel tests and isomorphism checks selected the same day (D106.1, D107.1, D108.1; tpm_kernel_tests 0.2.0), whose text follows at the next TPS revision; TPC-PY as built 2026-09-22 (tpc_zone 0.3.0, tpc_units 0.1.0, tpc_tests 0.1.0; no TPC-PY version is declared yet) with check_draft 0.3.0; the messages as TPC-PY (tpc_zone 0.3.0, tpc_units 0.1.0, tpc_tests 0.1.0) and check_draft 0.3.0 print them; TPX will print the same problems. Where this page and the specification differ, the specification governs.

How to read a message

Each problem is one line. It begins with the component it is about, so you can find it in your file:

  • LAW:N2, CONSTANT:x_max and so on: a TPK entry, by kind and name.
  • ENV:, SIGNATURE:, TRANSFORMATION:, ENTRY:: parts of the TrM.
  • PARAMETERS, CONSTANT:, YARDSTICK:: parts of the TMS.
  • TPK:, TrM:, TMS:: the zone as a whole.
  • IC1: to IC4(c): and CODOMAIN:: the isomorphism checks, which name the entry or quantity inside the message.
  • A message ending (T2), (T3), (T5 b) or (T5 c) comes from a kernel test.

A name that cannot be read is shown as ?. All problems in a zone are reported together, sorted alphabetically, each once, so fix them all before you run the check again. Any character the text rules refuse is shown in a message as <U+XXXX>, never as itself, so a message cannot carry hidden text.

In the tables, C is the component, F a field name, N a name, and other italic letters the value quoted.

The file

Message Meaning Fix
DRAFT: cannot be read: duplicate key K the key appears twice in one object delete one of the two; decide which value you meant
DRAFT: cannot be read: reason the file is not valid JSON; the reason gives the line and column fix the syntax at that place: a missing comma, quote or bracket is usual
DRAFT: cannot be read: the draft must be one JSON object the file holds a list or a single value wrap the zones in one object: {"TPK": ..., "TrM": ..., "TMS": ...}
DRAFT: unknown zone Z a top-level key other than TPK, TrM or TMS remove it, or correct its spelling (case matters)
Z MISSING (not checked) the zone is not in the file none needed while you work zone by zone; all three must be present to pass

Any entry, in any zone

Message Meaning Fix
C: missing field F a required field is absent add it; the zone pages list the required fields
C: unknown field F the kind has no such field remove it, or correct its spelling
C: mutable field F is not permitted in the TFK a status field (STATE, SCRUTINY, RIDER, NOTE, CHECKS_OWED, RECORDS) remove it; status lives in register records
C: field F has the wrong type a string where a list or number belongs, or the reverse decimals in quotes, N_X and S_MAX without, REFS, OVER, BEARS and KEY as lists
C: field F contains disallowed character U+XXXX an invisible or control character retype the text; see Text and numbers
C: field F has duplicate entries a name appears twice in REFS, OVER or BEARS list each name once
C: DIMENSION D is not a dimension the dimension does not parse write base and exponent with a space between tokens: L1 T-1
C: UNIT U is not a unit the unit does not parse: a slash, a caret, two spaces, or an exponent of five digits symbols with exponents, single spaces: kg m s-2
C: UNIT U: X is not a unit symbol a symbol outside the SI list use an SI symbol; see Text and numbers
C: UNIT U: X takes no prefix a prefix on min, h, d, ha, au, deg or arcmin remove the prefix, or use the SI unit: ks for a thousand seconds
C: UNIT U: X is refused, reason degC, Da, Np, B or dB use K for a temperature difference; state other values in an accepted unit
C: UNIT U: an exponent is out of range an exponent beyond 9999, after repeated symbols merge write the unit plainly
C: F V is not a decimal VALUE, UNCERTAINTY or K does not parse digits, an optional point and fraction, an optional exponent; no commas or spaces
C: NAME N is not an identifier a name with a space, a hyphen, a non-ASCII letter or a leading digit letters, digits and underscore, not starting with a digit
part is not a list a kind or part that must be a list is something else put its entries in [ ]
part: entry is not an object a list member is not { } write each entry as an object
TPK: zone is not an object (also TrM, TMS) the zone is a list or a value write the zone as { }

The Prime Kernel

Message Meaning Fix
TPK: unknown kind K a key other than the six kinds use DOF, CONSTANT, LAW, ASSUMPTION, CONSTRAINT or BOUNDARY
TPK: duplicate name N two entries share a name, perhaps in different kinds rename one; names are unique across the TPK
C: cites itself an entry's REFS or TARGET names the entry cite the DOF or constants instead
C: REFS R does not resolve no entry has that name correct the name, or add the missing DOF or constant
C: REFS R is a KIND, not a DOF or CONSTANT REFS names a law, assumption, constraint or boundary cite only DOF and constants
C: TARGET T is not a DOF a constraint acts on something other than a DOF name the DOF it removes or fixes
C: ACTION A is not REMOVE or FIX an unknown action use REMOVE or FIX, in capitals
C: FIX requires VALUE a FIX constraint without the value it fixes add VALUE
C: FIX requires UNIT a FIX constraint without the unit of its value add UNIT, with the TARGET's dimension
C: REMOVE forbids VALUE a REMOVE constraint with a value remove VALUE, or change the action to FIX
C: REMOVE forbids UNIT a REMOVE constraint with a unit remove UNIT, or change the action to FIX
C: UNIT U has dimension D1, not D2 a constant's unit measures something else use a unit of the constant's dimension
C: UNIT U has dimension D1, not D2 of TARGET T a FIX constraint's unit does not fit its DOF use a unit of the DOF's dimension
C: VALUE requires UNIT a constant with a value and no unit add UNIT
C: UNIT requires VALUE a constant with a unit and no value add VALUE, or remove UNIT
C: UNCERTAINTY requires VALUE an uncertainty without a value add VALUE
C: UNCERTAINTY U is negative a negative uncertainty state its magnitude

The Translation Manifold

Message Meaning Fix
TrM: missing part P / TrM: unknown part P HEADER or ENTRIES absent, or an extra part the TrM has exactly HEADER and ENTRIES
TrM: HEADER is not an object HEADER is a list or a value write it as { } with its three parts
TrM HEADER: missing part P / unknown part P a header part absent, or an extra one the header has ENVIRONMENT_INVENTORY, SIGNATURE and TRANSFORMATIONS
ENV:Q: ENVIRONMENT_QUANTITY Q is not an identifier an inventory name that is not an identifier letters, digits and underscore
TrM: duplicate environment quantity Q an inventory name appears twice list each quantity once
SIGNATURE:N: OVER D is not a TPK DOF a signature acts on a name that is not a kernel DOF name kernel DOF only
TrM: duplicate signature name N (also transformation, entry) two members share a name rename one
ENTRY:N: DOF D is not a TPK DOF the entry identifies something the kernel does not have name a kernel DOF
ENTRY:N: ENVIRONMENT_QUANTITY Q is not in the ENVIRONMENT INVENTORY the entry names a quantity the header does not list add it to the inventory, or correct the name
ENTRY:N: DOMAIN is empty (also FALSIFIER) the field is blank or only spaces state it; every entry needs both
ENTRY:N: FALSIFIER_CLASS F0 is inadmissible an entry declares no falsifier state a falsifier and its class
ENTRY:N: FALSIFIER_CLASS X is not one of F1 F2 F3 an unknown class use F1, F2 or F3
ENTRY:N: BEARS B is not a TPK LAW or CONSTRAINT BEARS names a DOF, constant, assumption or boundary, or an unknown name name kernel laws and constraints only

The Measure Set

Message Meaning Fix
TMS: missing part PARAMETERS / TMS: unknown part P PARAMETERS absent, or an extra part the TMS has PARAMETERS and, if needed, CONSTANTS and YARDSTICKS
TMS: PARAMETERS is not an object PARAMETERS is a list or a value write it as { }
PARAMETERS: STEP_CONVENTION is empty the convention is blank state what counts as one step
PARAMETERS: K V is not a positive decimal in double range K is zero, negative, or too small or too large for a double give a positive decimal of ordinary size
PARAMETERS: N_X must be at least n / at most n N_X outside its range (zone schemas 4.2) choose a value inside it
PARAMETERS: S_MAX must be at least n / at most n S_MAX outside its range choose a value inside it
PARAMETERS: IC2_POLICY V is not GAP or REJECT an unknown policy use GAP or REJECT, or leave it out
PARAMETERS: PROMOTION_FLOOR V is not F1, F2 or F3 an unknown floor use F1, F2 or F3, or leave it out
TMS: duplicate constant name N (also yardstick) two members share a name rename one

The kernel tests

T2 and T5 run as the kernel is entered, once it passes T1; T3 runs at the final pass.

Message Meaning Fix
ASSUMPTION:N: PROPOSITION joins claims with "W" (T2) the proposition is joined at its top level by and, but, whereas or as well as (any case) split it into one assumption per claim; if the word does not join claims, rephrase: "x lies between 0 and 1" becomes "0 < x < 1"
ASSUMPTION:N: PROPOSITION joins claims with "&" (T2) an ampersand at top level; the logical-and sign gives the same line with U+2227 in place of "&" split it into one assumption per claim
ASSUMPTION:N: PROPOSITION has a semicolon (T2) a semicolon at top level split it, or put the second part in brackets if it only qualifies the first
ASSUMPTION:N: PROPOSITION has more than one sentence (T2) a full stop, ! or ? followed by a space and a capital letter; also after an abbreviation such as "e.g." one sentence per assumption; write "for example" for "e.g." before a capital
ASSUMPTION:N: PROPOSITION is a list (T2) a new line beginning with -, *, +, a bullet or a number one assumption per list item
DOF:D: named by no LAW (T5 c) no law's REFS names the DOF, so it is idle add the law that governs it, or delete the DOF
CONSTRAINT:N: TARGET T is named by no LAW, so no law leaves it free (T5 b) the constraint acts on a DOF no law uses correct the TARGET, or add the law
CONSTRAINT:N1 and CONSTRAINT:N2: T is both removed and fixed (T3) one constraint removes the DOF and another fixes it keep one of them
CONSTRAINT:N1 and CONSTRAINT:N2: T fixed at V1 U1 and at V2 U2 (T3) two FIX constraints give one DOF different values, compared in SI keep one value
CONSTRAINT:N1 and CONSTRAINT:N2: the two FIX values of T cannot be compared: units of different kind: K1 and K2 (T3) the units have one dimension and a different kind, such as Hz and rad s-1 write both values in units of one kind, or keep one constraint
CONSTRAINT:N1 and CONSTRAINT:N2: the two FIX values of T cannot be compared (T3) a value too large or too small to convert write the values at ordinary size, or keep one constraint
T3: S_MAX is not a declared depth of at least 1 the Measure Set gives T3 no depth declare S_MAX in PARAMETERS

The isomorphism checks

They run as the manifold is entered, once it and the kernel pass their structure checks. Every line but the untied-DOF line refuses the manifold.

Message Meaning Fix
IC1: environment quantity Q is identified by no entry the inventory lists a quantity no entry uses add the entry that identifies it, or remove it from the inventory
IC2: DOF D is untied no entry identifies the DOF. Not a problem: a named gap, held for the final pass add an entry; or leave it, and IC2_POLICY decides at the final pass
IC2: DOF D is untied and IC2_POLICY is REJECT the Measure Set refuses untied DOF add the entry, or change the policy to GAP
IC3: DOF D is identified with inequivalent quantities Q1, Q2 (entries) two entries tie one DOF to two different quantities keep one entry for the DOF
IC3: environment quantity Q is identified with DOF D1, D2 (entries) two entries tie one quantity to two DOF keep one entry for the quantity
IC4(b): ENTRY:N: DIMENSION D1 differs from DOF X's D2 the entry's dimension is not its DOF's correct the entry's DIMENSION
IC4(b): ENTRY:N: DIMENSION D1 differs from environment quantity Q's D2 the entry's dimension is not its quantity's correct the entry's or the inventory's DIMENSION
IC4(c): ENTRY:N: BEARS LAW:L, which names DOF D that no entry identifies the entry carries a law about a DOF with no entry add an entry for that DOF, or stop bearing the law
IC4(c): ENTRY:N: BEARS CONSTRAINT:C, whose TARGET T no entry identifies the entry carries a constraint on a DOF with no entry add an entry for that DOF, or stop bearing the constraint
CODOMAIN: ENTRY:N identifies DOF D, which CONSTRAINT:C removes an entry for a DOF the kernel removes delete the entry

Lines that report the run

Message Meaning Fix
IC1-IC4 not run: the TPK does not pass T1 (or is missing) the checks need a kernel that passes T1 fix the kernel first
IC1-IC4 PASS with n untied DOF, held for the final pass the manifold passes; the named gaps follow on the next lines nothing yet; IC2_POLICY decides at the final pass
and n untied DOF, held for the final pass the same, after a refusal fix the problems above; the gaps are settled at the final pass
FINAL not run: a zone is missing the final pass needs all three zones add the missing zone
FINAL not run: it runs once every check above passes an earlier check refused something fix what is refused above
FINAL T3 and IC2 PASS, admitted with n named gap(s) (IC2_POLICY GAP) the draft passes; the gaps stay named on the UWC nothing; or add the missing entries

Yardsticks

The first eight come from the key rules at entry; the last three from running the yardstick on the synthetic record suite, which happens only when the Measure Set has passed.

Message Meaning Fix
YARDSTICK:N: KEY is empty the key has no terms begin with SR1
YARDSTICK:N: KEY must begin with SR1 the first term is not SR1 put SR1 first
YARDSTICK:N: SR1 may appear only as the first term SR1 appears again later remove the later SR1
YARDSTICK:N: term t is not well-formed the term does not parse: a space, an unknown atom, an atom twice in one WSUM, or a missing * see the term table on Yardsticks
YARDSTICK:N: constant c is not a TMS constant a weight names no constant declare it under CONSTANTS
YARDSTICK:N: KEY ranks a record higher when an assumption is added (SR9 C2) the key prefers records with more assumptions make the first A-dependent term increase with A, or move the rule into a LIMITING case with its DOMAIN
YARDSTICK:N LIMITING D: DOMAIN is empty a limiting case has a blank domain state where it applies
YARDSTICK:N: duplicate limiting DOMAIN D two limiting cases share a domain merge them, or make the domains distinct
YARDSTICK N: REFUSED, FIELD terms await the record field schema (C-16) the evaluator cannot run a FIELD term yet do not use FIELD terms until C-16 lands
YARDSTICK N: REFUSED, weight c is not a finite double a weight is too large to compute with use a weight of ordinary size
YARDSTICK N: REFUSED, a yardstick value is not finite the weights overflow on the test records use smaller weights

The end of the output

When every check passes, the final pass included, the checker prints the four digests and the inspections still owed to the declaring authority, then:

Advisory result (TPC-PY: tpc_zone 0.3.0, tpc_units 0.1.0, tpc_tests 0.1.0; schema 0.3.0). TPX decides at the gate.

The exit status is 0 only when all three zones are present and every check passes. A named gap under IC2_POLICY GAP passes.

Non-goals

A clean result is not a certificate. It says the draft is well-formed under the checks that exist; the inspections listed at the end of a passing run are still owed, and TPX decides at the gate.

Worked example

The kernel below has five mistakes: a status field, a name with a space, a dimension without the space between its tokens, a REFS name that does not exist, and a unit of time on a constraint that fixes a length.

TPK  REFUSED, 5 problems
       ASSUMPTION:A_lin: mutable field STATE is not permitted in the TFK
       CONSTANT:x max: NAME x max is not an identifier
       CONSTRAINT:C_NOZ: UNIT s has dimension T1, not L1 of TARGET z
       DOF:v: DIMENSION LT-1 is not a dimension
       LAW:N2: REFS k does not resolve
TrM  MISSING (not checked)
TMS  MISSING (not checked)
FINAL not run: a zone is missing

Advisory result (TPC-PY: tpc_zone 0.3.0, tpc_units 0.1.0, tpc_tests 0.1.0; schema 0.3.0). TPX decides at the gate.

The fixes are on tutorial step 6.

Governing sections: TPS 5.5, 2.2, 2.3 and 2.4; zone schemas 8.1.


Previous: Text and numbers. Next: The calculator.