feat(prepass): name the delivered excerpt nobody named, never refuse it [skip-docs]
GREEN for order 20260910T051343Z (P10). `unnamed_excerpts` reports every
delivered excerpt carrying no `title`, BY CONCEPT ID and in payload order --
ids, never a count, because "3 of 4 are unnamed" cannot be taken back to a
producer and "these three concepts are" can (ko-(y), one level down). It is
carried on `PrepassDeclaration` (DEFAULTED -- the `skipped_links` half, since
an empty trace here is an honest POSITIVE statement) and into
`{run_id}-prepass.json`, where a reader already looks for the denominators.
Absence ALONE, mirroring okf's `excerpt_unnamed` exactly: `title: ""` is a
name the producer chose badly, and reclassifying it would be repair.
Load-bearing MEASURED, five mutations all red against the WHOLE suite, green
control 1577 passed / 5 skipped (from 1570/5, superset, 0 removed), golden
demo-transcript.stdout BYTE-UNCHANGED (shasum -a 1 of the CONTENT =
ea8c534773acdbe41ae68f2c55724d69aaf8be4f): M1 the rule finds nothing (3 red) .
M2 it flags every excerpt (4, incl. the known-positive control) . M3 an empty
title counts as an absence (1 -- that arm ALONE) . M4 it never reaches the
declaration (2) . M5 it stops at the dataclass (1 -- the artefact arm ALONE).
Replay measured in the same session: both K2 payloads re-cut with okf consume
(PATH okf 0.7.0) into scratchpad/p10/, old files untouched. `okf check` goes
rc 1 / 8 and 12 findings -> rc 0 / 0 findings on both, 15 rules, known-negative
{} still rc 1 / 9. DIVERGENCE from the order's premise (ix): the denominators
did NOT move (629/621/8 and 629/617/12) because PATH okf 0.7.0 carries neither
--stem-prefix nor --source-quota. UNORDERED FINDING: the cut's CONTENT is a
different one -- the open arm no longer delivers the price schedule, delivered
text 141 470 -> 76 824 chars. Observed, not diagnosed.
docs/2026-09-10-p10-konform-k2-payload.md
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
3da28c382e
commit
d8dadbf236
2 changed files with 227 additions and 0 deletions
202
docs/2026-09-10-p10-konform-k2-payload.md
Normal file
202
docs/2026-09-10-p10-konform-k2-payload.md
Normal file
|
|
@ -0,0 +1,202 @@
|
||||||
|
# P10 — én konform K2-payload på disk
|
||||||
|
|
||||||
|
Ordre `20260910T051343Z-8984415658-from-.claude`, økt 112, 2026-09-10.
|
||||||
|
Ingen betalt kjøring. **NOK 0.** Ingen push.
|
||||||
|
|
||||||
|
## § 0 Hva som ER målt og hva som IKKE er det
|
||||||
|
|
||||||
|
**Målt:**
|
||||||
|
|
||||||
|
* At de to K2-payloadene `scratchpad/s7c/payload-default.json` og `…/payload-open.json` gir
|
||||||
|
`okf check` **rc 1** med **8** og **12** funn, alle `excerpt_unnamed`, mot 15 regler (P9s tall,
|
||||||
|
reprodusert her).
|
||||||
|
* At en re-spilling av de SAMME to armene mot den SAMME basen med dagens `okf consume` gir
|
||||||
|
payloads der **hvert** utdrag bærer `title`, og at `okf check` da gir **rc 0 / 0 funn** på begge.
|
||||||
|
* At kjent-negativen `{}` fortsatt gir **rc 1 / 9 funn**, altså at sjekken kan feile.
|
||||||
|
* At po sin egen `prepass.admit_payload` ADMITTERER alle fire payloadene mot den monterte basen.
|
||||||
|
* At po sin konsument tidde om det okf navngir: en manglende `title` forsvant sporløst.
|
||||||
|
* At de leverte DOKUMENTENE er andre etter re-spillingen enn før — inkludert at den åpne armen
|
||||||
|
ikke lenger leverer prisskjemaet.
|
||||||
|
|
||||||
|
**IKKE målt:**
|
||||||
|
|
||||||
|
* Ingenting her er bekreftet mot en levende modell. Ingen betalt kjøring er gjort.
|
||||||
|
* At en modell LESER et navngitt utdrag bedre enn et navnløst. `okf check` måler form, ikke bruk.
|
||||||
|
* Hva prisskjema-bortfallet (§ 4) betyr for et forslags kvalitet. Det krever en betalt kjøring.
|
||||||
|
|
||||||
|
## § 1 Premisser (i)–(xiii), med utfall per rad
|
||||||
|
|
||||||
|
| # | premiss | utfall |
|
||||||
|
|---|---|---|
|
||||||
|
| (i) | HEAD `3082e70`, upushet = 2, `git ls-remote origin main` = `455d611…` | ✅ reprodusert eksakt |
|
||||||
|
| (ii) | to utrackede: presentasjons-HTML + `scratchpad/` | ✅ ingen tredje |
|
||||||
|
| (iii) | 1 570 / 5 · ruff rent · format 0/198 · mypy 37 · golden `ea8c534…` · STATE 120 | ✅ alle. `ruff` er ikke på PATH som bart navn; `uv run ruff` er formen |
|
||||||
|
| (iv) | fire `okf check`-rader, 20 funn alle `excerpt_unnamed` | ✅ reprodusert byte for byte |
|
||||||
|
| (v) | rc fanges direkte, aldri gjennom rør | ✅ fulgt (`out=$(…); rc=$?`) |
|
||||||
|
| (vi) | `okf consume` er produsenten, gratis, ingen nettverk | ✅ default-armen på 1,7 s, åpen på 2,9 s |
|
||||||
|
| (vii) | basen på disk gir ref `sha256-tree:f14872a01104…` | ✅ og **byte-for-byte det begge gamle payloadene deklarerer** |
|
||||||
|
| (viii) | `bundle_id` identifiserer ikke bytene | ✅ bekreftet; se § 5 |
|
||||||
|
| (ix) | PM målte nye nevnere 629/623/6 og 629/620/9 | ❌ **AVVIK — mine tall gjelder: 629/621/8 og 629/617/12, altså UENDRET.** Forklaring i § 3 |
|
||||||
|
| (x) | tre defaults flyttet seg etter at de gamle ble sporet | ⚠️ **delvis**: PATH-okf 0.7.0 har `--tie-shared-rank`, men **ikke** `--stem-prefix` og **ikke** `--source-quota` |
|
||||||
|
| (xi) | po produserer ingen payload, har ingen `tools/` | ✅ **VOID bekreftet.** Modul-docstringen sier ordrett «po produces no payload and vendors no producer»; `ls tools` → No such file or directory |
|
||||||
|
| (xii) | `title` er frivillig med skrevet grunn | ✅ `str \| None = None`; grunnen er sitert i § 2 |
|
||||||
|
| (xiii) | (A), (B), (C) er operatørens | ✅ uendret, ingen av dem flyttet av denne økta |
|
||||||
|
|
||||||
|
## § 2 Formvalget i pkt. 2: **F1 (rapporterende)**, og hva F2 ville kostet
|
||||||
|
|
||||||
|
`PrepassExcerpt`-docstringen begrunner at hvert nytt felt defaulter til `None`: *«a required field
|
||||||
|
would refuse every payload written before today».* F2 ville reversert nøyaktig den setningen, og
|
||||||
|
prisen er et tall.
|
||||||
|
|
||||||
|
**Målt 2026-09-10 over alle payload-filer i repoet:**
|
||||||
|
|
||||||
|
```
|
||||||
|
TOTAL payload-filer: 20
|
||||||
|
F2 ville AVVIST: 10 av 20
|
||||||
|
F2 ville AKSEPTERT: 10 av 20
|
||||||
|
```
|
||||||
|
|
||||||
|
Blant de ti F2 ville avvist er `tests/fixtures/prepass/bygg-energi-mikro-fixture.payload.json`
|
||||||
|
— **4 utdrag, 0 med `title`** — den ENE git-trackede payload-fixturen, som driver hver av de
|
||||||
|
seks andre prepass-suitene. F2 ville altså krevd at en sporet fixtur ble skrevet om for at F2s
|
||||||
|
egen regel skulle bli grønn. Det er ikke en pris denne ordren autoriserer, og det er ikke en
|
||||||
|
avveining en konsument skal ta på en produsents vegne.
|
||||||
|
|
||||||
|
**F1 avviser ingenting.** `prepass.unnamed_excerpts(payload)` navngir de leverte utdragene som
|
||||||
|
bærer ingen `title`, **ved konsept-id og i payload-rekkefølge** — ikke som et antall: «3 av 4 er
|
||||||
|
navnløse» kan ikke tas tilbake til en produsent, «disse tre konseptene er det» kan
|
||||||
|
(`BudgetExceeded`s kø-(y)-regel ett nivå ned). Observasjonen bæres videre på
|
||||||
|
`PrepassDeclaration.unnamed_excerpts` og inn i `{run_id}-prepass.json`.
|
||||||
|
|
||||||
|
**Feltet DEFAULTER til tom tuppel** — `skipped_links`-halvdelen, aldri `cost_baseline_anchored`s:
|
||||||
|
en tom trace er her et ærlig POSITIVT utsagn («hvert levert utdrag ble navngitt»), mens en påkrevd
|
||||||
|
bool måtte påstå noe om en hendelse og begge defaults ville iblant vært usanne.
|
||||||
|
|
||||||
|
**Fravær ALENE, speilet av okf sin regel.** Et utdrag der produsenten skrev `title: ""` ER
|
||||||
|
navngitt, dårlig; å omklassifisere det ville vært reparasjon, og headeren viser det allerede som
|
||||||
|
`title: ` der et fraværende viser ingenting. `_ground_against_input` er URØRT (P8s invariant).
|
||||||
|
|
||||||
|
**Load-bearing MÅLT**, fem mutasjoner alle røde mot HELE suiten, grønn kontroll **1577 passed /
|
||||||
|
5 skipped** (fra 1570/5 — supersett, 0 fjernet) og golden `demo-transcript.stdout` BYTE-UENDRET
|
||||||
|
(`shasum -a 1` av INNHOLDET = `ea8c534773acdbe41ae68f2c55724d69aaf8be4f`, aldri git-blob-id-en):
|
||||||
|
|
||||||
|
| mutasjon | røde |
|
||||||
|
|---|---|
|
||||||
|
| M1 regelen finner aldri noe | 3 |
|
||||||
|
| M2 regelen flagger hvert utdrag | 4 (inkl. kjent-positiv-kontrollen) |
|
||||||
|
| M3 tom `title` telles som fravær | **1 — tom-navn-armen ALENE** |
|
||||||
|
| M4 observasjonen når aldri deklarasjonen | 2 |
|
||||||
|
| M5 den stopper på dataklassen | **1 — artefakt-armen ALENE** |
|
||||||
|
|
||||||
|
Ingen grønn mutasjon.
|
||||||
|
|
||||||
|
## § 3 Re-spillingen — gamle og nye nevnere side om side
|
||||||
|
|
||||||
|
Basen er `~/repos/portfolio-optimiser/scratchpad/s7c/k2-bundle-s7c`, verifisert med okf sin egen
|
||||||
|
identitet FØR re-spillingen: `root_bundle_id_of` = `k2-trinn1-20260903`, `bundle_ref` =
|
||||||
|
`sha256-tree:f14872a01104e47474093611b1960c6c541e4701dc40147a00c8e1b337c8a92a`, byte-for-byte det
|
||||||
|
`bundle.ref` begge de gamle payloadene deklarerer. Spørsmålet er ORDRETT
|
||||||
|
«Finn kostnadsbesparelser i Stange skole-anbudet», uendret.
|
||||||
|
|
||||||
|
| arm | payload | considered / withheld / delivered | budget spent av limit | utdrag med `title` |
|
||||||
|
|---|---|---|---|---|
|
||||||
|
| default | GAMMEL `scratchpad/s7c/payload-default.json` | 629 / 621 / **8** | 79 440 av 120 000 | **0 av 8** |
|
||||||
|
| default | NY `scratchpad/p10/payload-default-v2.json` | 629 / 621 / **8** | 54 931 av 120 000 | **8 av 8** |
|
||||||
|
| åpen | GAMMEL `scratchpad/s7c/payload-open.json` | 629 / 617 / **12** | 150 249 av 160 000 | **0 av 12** |
|
||||||
|
| åpen | NY `scratchpad/p10/payload-open-v2.json` | 629 / 617 / **12** | 88 297 av 160 000 | **12 av 12** |
|
||||||
|
|
||||||
|
`considered` = 629 i alle fire, som det skal — basen er den samme.
|
||||||
|
|
||||||
|
**AVVIK mot premiss (ix), og mitt tall gjelder.** PM målte 629/623/6 og 629/620/9 i en frossen
|
||||||
|
eksport av okf `958e9bc`. Jeg måler nevnerne **UENDRET**. Forklaringen er en versjonsforskjell,
|
||||||
|
ikke en «sannsynlighet»: PATH-okf er 0.7.0
|
||||||
|
(`~/.local/bin/okf`, `llm_ingestion_okf.__version__` = `0.7.0`), og dens `okf consume --help`
|
||||||
|
navngir **ingen** `--stem-prefix` og **ingen** `--source-quota`. Full flaggliste målt:
|
||||||
|
|
||||||
|
```
|
||||||
|
--cost-vocabulary --k --limit --no-tie-shared-rank --out --question
|
||||||
|
--rarity-weight --ref --reserve-top-rank --tie-shared-rank --withheld-titles
|
||||||
|
```
|
||||||
|
|
||||||
|
To av de tre defaultene premiss (x) navngir har altså ikke landet i PATH-okf 0.7.0. PMs frosne
|
||||||
|
`958e9bc` er en senere build enn den som er installert her.
|
||||||
|
|
||||||
|
**Feltlista i `excerpts[0]`, før og etter (begge armer, identisk endring):**
|
||||||
|
|
||||||
|
```
|
||||||
|
FØR: adjudication bundle_id bundle_id_inherited concept_id rank sha256 text text_sha256 trust_tier
|
||||||
|
ETTER: adjudication bundle_id bundle_id_inherited concept_id rank sha256
|
||||||
|
source_file source_sha256 text text_sha256 title trust_tier
|
||||||
|
```
|
||||||
|
|
||||||
|
Tre nye medlemmer: `title`, `source_file`, `source_sha256`.
|
||||||
|
|
||||||
|
**po sin egen `prepass.admit_payload` mot den monterte basen: ADMITTED for alle fire** (begge
|
||||||
|
gamle og begge nye). En payload som ikke lukker mot basen er en payload ingen konformans-påstand
|
||||||
|
skal bygges på; disse lukker.
|
||||||
|
|
||||||
|
## § 4 FUNN som ordren ikke ba om, og som ikke skal ligge stille
|
||||||
|
|
||||||
|
Nevnerne står, men **kuttets INNHOLD er et annet**. Målt per arm:
|
||||||
|
|
||||||
|
| arm | samme leverte id-er og rekkefølge | samme `text_sha256` per utdrag | levert tekst (tegn) |
|
||||||
|
|---|---|---|---|
|
||||||
|
| default | **nei** | **nei** | 72 535 → **47 679** |
|
||||||
|
| åpen | **nei** | **nei** | 141 470 → **76 824** |
|
||||||
|
|
||||||
|
Den mest konsekvensrike enkeltforskjellen: den ÅPNE armen leverte
|
||||||
|
`del-ii-bilag-7-prisskjema/prissammenstilling-sheet-1` i den GAMLE payloaden og gjør det **ikke**
|
||||||
|
i den nye. Det er dokumentet hele S7c-målingen («begge låser når prisskjemaet») handlet om.
|
||||||
|
Årsaken er den samme versjonsforskjellen som over — `--tie-shared-rank` er nå PÅ som default og
|
||||||
|
endrer rangeringen — men det er en **rapportert observasjon, ikke en diagnose**: ingen måling her
|
||||||
|
isolerer flagget som årsak, og ingen betalt kjøring sier hva bortfallet koster et forslag.
|
||||||
|
|
||||||
|
Dette er hele grunnen til at en re-spilt payload er en NY måling og ikke en reparert gammel.
|
||||||
|
|
||||||
|
## § 5 `okf check` før og etter, med kjent-negativ
|
||||||
|
|
||||||
|
okf på PATH: **0.7.0**. SKILL-en er generert i denne økta FOR DENNE BASEN
|
||||||
|
(`scratchpad/p10/SKILL-k2-s7c.md/SKILL.md`, navngir ref `f14872a01104…`), altså ikke P9s SKILL,
|
||||||
|
som ble generert for pinnen (`k2-trinn1-20260903` ved ref `18ae18ab…`).
|
||||||
|
|
||||||
|
| payload | rc | rapportlinje | funn |
|
||||||
|
|---|---|---|---|
|
||||||
|
| GAMMEL default | **1** | NOT conformant: 15 rules over 8 excerpts and 621 withheld entries | **8**, alle `excerpt_unnamed` |
|
||||||
|
| **NY default** | **0** | **conformant: 15 rules over 8 excerpts and 621 withheld entries** | **0** |
|
||||||
|
| GAMMEL åpen | **1** | NOT conformant: 15 rules over 12 excerpts and 617 withheld entries | **12**, alle `excerpt_unnamed` |
|
||||||
|
| **NY åpen** | **0** | **conformant: 15 rules over 12 excerpts and 617 withheld entries** | **0** |
|
||||||
|
| kjent-negativ `{}` | **1** | NOT conformant: 15 rules over 0 excerpts and 0 withheld entries | **9** |
|
||||||
|
|
||||||
|
**Regelantallet er 15, ikke 16** — den bundle-identitets-regelen okf har i arbeid har ikke landet
|
||||||
|
i 0.7.0. Målt direkte i stedet for antatt: P9s SKILL, generert for pinnens ref `18ae18ab…`, gir
|
||||||
|
**rc 0 / 0 funn** på begge de nye payloadene, som deklarerer ref `f14872a0…`. En checker som
|
||||||
|
sammenlignet SKILL-ens bundle med payloadens ville reist et funn på nøyaktig den raden. Den gjør
|
||||||
|
det ikke, altså finnes regelen ikke ennå. Dette er premiss (viii) sett fra checker-siden: `okf
|
||||||
|
check` avstemmer i dag ikke identitet, så **kun** `bundle_ref` skiller de tre K2-buildene.
|
||||||
|
|
||||||
|
**Ingen FYI sendt til okf, og grunnen er målt:** ingen okf-tall endret seg. Regelantallet står på
|
||||||
|
15 i hver eneste rad over, funn-teksten er ordrett den samme, og kjent-negativen gir samme 9.
|
||||||
|
Funnene gikk fra 20 til 0 fordi PAYLOADEN ble en annen, ikke fordi checkeren ble det. En melding
|
||||||
|
uten et endret tall er støy.
|
||||||
|
|
||||||
|
## § 6 Honesty limits
|
||||||
|
|
||||||
|
* **Ingen betalt kjøring er gjort. NOK 0.** Ingenting her er bekreftet levende. At et navngitt
|
||||||
|
utdrag brukes bedre enn et navnløst er ikke vist — dette er samme klasse som
|
||||||
|
structured-output-grensen.
|
||||||
|
* **En re-spilt payload er en NY måling, ikke en reparert gammel.** De gamle filene er URØRT
|
||||||
|
(`scratchpad/s7c/payload-default.json` og `…-open.json` er ikke skrevet til). P6- og P8-radene
|
||||||
|
som bygger på de gamle payloadene gjelder fortsatt for DE payloadene, og **ikke** for de nye —
|
||||||
|
§ 4 måler at kuttets innhold faktisk er et annet, ikke bare at det er navngitt.
|
||||||
|
* **Nevneren for konformans er ÉN bundle i ÉN build.** `bundle_id` alene identifiserer ikke
|
||||||
|
bytene: tre K2-builds bærer alle `k2-trinn1-20260903` ved tre ulike refs. Sammenlign alltid
|
||||||
|
`ref`.
|
||||||
|
* **`okf check` er GULVET, aldri beviset.** Checkerens egen docstring sier at arbeidsdelingen og
|
||||||
|
forbudene er egenskaper ved en KJØRING som ingen statisk sjekk når. rc 0 sier at payloadens FORM
|
||||||
|
holder, ikke at kuttet var riktig — § 4 er nøyaktig et tilfelle der formen ble bedre og
|
||||||
|
innholdet ble et annet.
|
||||||
|
* **Prisskjema-bortfallet i § 4 er observert, ikke diagnostisert.** Ingen måling her isolerer
|
||||||
|
`--tie-shared-rank` som årsak.
|
||||||
|
* **(A), (B) og (C) forblir operatørens** og ble ikke flyttet av denne økta.
|
||||||
|
* PATH-okf 0.7.0 er ikke bevist å være samme commit som PMs frosne `958e9bc`; versjonsstrengen er
|
||||||
|
det eneste som er målt, og de to sprikte i flaggliste.
|
||||||
|
|
@ -665,6 +665,7 @@ class PrepassDeclaration:
|
||||||
delivered: int
|
delivered: int
|
||||||
withheld_rules: tuple[tuple[str, int], ...]
|
withheld_rules: tuple[tuple[str, int], ...]
|
||||||
rest_reachable: bool
|
rest_reachable: bool
|
||||||
|
unnamed_excerpts: tuple[str, ...] = ()
|
||||||
|
|
||||||
|
|
||||||
def withheld_rule_counts(payload: PrepassPayload) -> tuple[tuple[str, int], ...]:
|
def withheld_rule_counts(payload: PrepassPayload) -> tuple[tuple[str, int], ...]:
|
||||||
|
|
@ -685,6 +686,24 @@ def withheld_rule_counts(payload: PrepassPayload) -> tuple[tuple[str, int], ...]
|
||||||
return tuple(sorted(counts.items()))
|
return tuple(sorted(counts.items()))
|
||||||
|
|
||||||
|
|
||||||
|
def unnamed_excerpts(payload: PrepassPayload) -> tuple[str, ...]:
|
||||||
|
"""Every delivered excerpt carrying no ``title``, BY CONCEPT ID, in payload order.
|
||||||
|
|
||||||
|
okf's checker names this ``excerpt_unnamed`` (SS 8) and measured 20 of them across this
|
||||||
|
repository's two K2 payloads. On po's side the same absence was SILENT: ``_excerpt_header``
|
||||||
|
appends the ``title:`` field only when it is present and says nothing otherwise, so a payload
|
||||||
|
whose producer named nothing rendered exactly like one that had nothing to add.
|
||||||
|
|
||||||
|
Ids, never a count: "3 of 4 excerpts are unnamed" cannot be taken back to a producer, and
|
||||||
|
"these three concepts are" can -- ``BudgetExceeded``'s ko-(y) rule one level down.
|
||||||
|
|
||||||
|
**Absence only, mirroring okf's rule exactly.** An excerpt whose producer wrote ``title: ""``
|
||||||
|
HAS been named, badly; reclassifying that would be repair, and the header already renders it
|
||||||
|
as ``title: `` where an absent one renders nothing at all.
|
||||||
|
"""
|
||||||
|
return tuple(excerpt.concept_id for excerpt in payload.excerpts if excerpt.title is None)
|
||||||
|
|
||||||
|
|
||||||
def declaration_of(payload: PrepassPayload, *, rest_reachable: bool) -> PrepassDeclaration:
|
def declaration_of(payload: PrepassPayload, *, rest_reachable: bool) -> PrepassDeclaration:
|
||||||
"""The declaration a verified payload supports, for the arm that consumed it.
|
"""The declaration a verified payload supports, for the arm that consumed it.
|
||||||
|
|
||||||
|
|
@ -701,6 +720,7 @@ def declaration_of(payload: PrepassPayload, *, rest_reachable: bool) -> PrepassD
|
||||||
delivered=payload.denominators.delivered,
|
delivered=payload.denominators.delivered,
|
||||||
withheld_rules=withheld_rule_counts(payload),
|
withheld_rules=withheld_rule_counts(payload),
|
||||||
rest_reachable=rest_reachable,
|
rest_reachable=rest_reachable,
|
||||||
|
unnamed_excerpts=unnamed_excerpts(payload),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -720,4 +740,9 @@ def declaration_payload(declaration: PrepassDeclaration) -> Mapping[str, object]
|
||||||
# whether the consumer could still open the base would leave a reader unable to tell a
|
# whether the consumer could still open the base would leave a reader unable to tell a
|
||||||
# bounded run from a seeded one -- the same undeclared claim, one level up.
|
# bounded run from a seeded one -- the same undeclared claim, one level up.
|
||||||
"rest_reachable": declaration.rest_reachable,
|
"rest_reachable": declaration.rest_reachable,
|
||||||
|
# Which delivered excerpts nobody named. It DEFAULTS to empty (the ``skipped_links``
|
||||||
|
# half, never ``cost_baseline_anchored``'s): an empty list here is an honest POSITIVE
|
||||||
|
# statement -- every delivered excerpt was named -- so omission cannot be mistaken for
|
||||||
|
# a fact we failed to record.
|
||||||
|
"unnamed_excerpts": list(declaration.unnamed_excerpts),
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue