Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 22 additions & 11 deletions docs/EDCM_MATHEMATICS.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,20 +294,27 @@ N_t=\operatorname{clamp}\left(
\right).
$$

### Confidence polarity
### Scope motion compatibility carrier

Let $o_t$ and $u_t$ be overconfidence and under-confidence marker hits:
Bare $O$ is a legacy scalar carrier, not a canonical metric identity. The
maintained baseline binds it explicitly to
`edcm.behavioral.O_scope`; `edcm.behavioral.O_confidence` remains a distinct
canonical axis and is not produced by `RoundMetrics`.

$$
Let $e_t$ and $c_t$ be hits from the frozen `scope_expansion` and
`scope_containment` marker categories:

$

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore display delimiters around the scope formula

On GitHub, the lone $ starts inline math rather than the display-math form used for the other multiline equations in this reference, so this cases expression is rendered inline or exposed as malformed source instead of as the intended block. Restore $$ at both boundaries of the formula.

Useful? React with 👍 / 👎.

O_t=
\begin{cases}
0,&o_t+u_t=0,\\
2\dfrac{o_t}{o_t+u_t}-1,&o_t+u_t>0.
0,&e_t+c_t=0,\\
2\dfrac{e_t}{e_t+c_t}-1,&e_t+c_t>0.
\end{cases}
$$
$

Positive is overconfident, negative is under-confident. This baseline zero is
a within-domain no-hit value; it must not be reused as typed absence.
Positive is scope expansion/overextension and negative is scope
contraction/containment. This baseline zero is a within-domain no-hit value; it
must not be reused as typed absence.

### Coherence loss

Expand Down Expand Up @@ -628,9 +635,13 @@ The field reader retains `previous_field_hash->current_field_hash` and appends
the motion-presence flag and the three exact read tuples. This is a
runtime-language identity contract, not a portable canonical-JSON signature.

The axis registry also names $C,R,D,I,F,E,O_{scope},O_{confidence},L_{load},
L_{loss},L_{resistance},N,P,\kappa$ and the six projections. Registration does
not make an axis canonical.
The axis registry names distinct canonical identities
$O_{scope}\ne O_{confidence}$ and
$L_{load}\ne L_{loss}\ne L_{resistance}$ alongside the remaining axes and
projections. A bare symbol is not canonical identity. The maintained legacy
round-vector carriers bind $O\rightarrow O_{scope}$ and
$L\rightarrow L_{loss}$; those compatibility bindings do not alias the sibling
axes.

## 10. Implemented v0.3.1 architecture layer

Expand Down
14 changes: 10 additions & 4 deletions docs/metric-origin-domain-claim.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,18 @@ neighboring_terms:
- semantic trajectory
known_collisions:
- UCNS geometric origin remains separate
effective_version: metric-origin-v0
supersedes: none
- legacy single-letter O and L carriers are noncanonical identities
effective_version: metric-origin-v0.1
supersedes: metric-origin-v0
resolved_identity_split:
- O_scope != O_confidence
- L_load != L_loss != L_resistance
legacy_carrier_targets:
O: edcm.behavioral.O_scope
L: edcm.behavioral.L_loss
unresolved:
- authority provenance for the originating operator declaration
- O naming conflict: Overextension versus Overconfidence
- L naming conflict: Load versus Coherence Loss
- lawful observed-construct to semantic-origin projection/distance
```

The circularity firewall is binding:
Expand Down
14 changes: 7 additions & 7 deletions edcm/measurement/metrics/matrix.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
Notes on invariants
-------------------
- All Layer 1 metrics except O are [0, 1].
- O is [-1, 1]: positive = overconfident, negative = under-confident.
- O is [-1, 1]: positive = scope expansion/overextension, negative = scope contraction/containment.
It is the only signed metric. Callers that need [0, 1] should use
abs(O) or (O + 1) / 2 as appropriate; the signed range is preserved
here for full fidelity.
Expand Down Expand Up @@ -94,8 +94,8 @@
# marker_C MarkerHits(C, contradiction) (÷token_count before use)
# marker_R MarkerHits(R, refusal) (÷token_count before use)
# marker_I MarkerHits(I, integration-fail) (÷token_count before use)
# marker_O_over MarkerHits(O, overconfidence) (signed, see O row)
# marker_O_under MarkerHits(O, under-confidence) (signed, see O row)
# marker_O_expand MarkerHits(O, scope_expansion) (signed, see O row)
# marker_O_contain MarkerHits(O, scope_containment) (signed, see O row)
# loop_risk composite (rep_b, rep_ngram, cosine_ab) — see risk.py
# entropy_gain ΔH between rounds (for P)
# ---------------------------------------------------------------------------
Expand Down Expand Up @@ -136,11 +136,11 @@
"I": {
"marker_I": 1.0,
},
# O: overconfidence — signed [-1, 1]
# O = (over - under) / (over + under); weights are directional
# O: legacy carrier for canonical O_scope — signed [-1, 1]
# O = (expansion - containment) / (expansion + containment)
"O": {
"marker_O_over": +1.0,
"marker_O_under": -1.0,
"marker_O_expand": +1.0,
"marker_O_contain": -1.0,
Comment on lines +142 to +143

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add a real test for the changed matrix schema

This renames the public A_MATRIX["metrics"]["O"] primitive schema, but the module still declares tests: hmmm, and no repository test references A_MATRIX or either new key. Consequently, the changed native module has no witness that its documentation-shaped matrix remains aligned with the frozen marker inventory or _compute_O; add a focused matrix/canon alignment test and declare it in MODULE_BUILD.

AGENTS.md reference: AGENTS.md:L65-L65

Useful? React with 👍 / 👎.

Comment on lines +142 to +143

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Version the renamed matrix primitive schema

When artifacts or consumers select this exported matrix schema by MATRIX_VERSION, they cannot distinguish the old marker_O_over/marker_O_under fields from these new names because both shapes still advertise version 1.0; even freeze(A_MATRIX) now produces a different identity for that same version. Bump the matrix version or retain the version-1 key shape so version-based readers do not request the wrong primitive fields.

Useful? React with 👍 / 👎.

},
# L: coherence loss — repetition + low novelty
"L": {
Expand Down
Loading