Capability loop step 3, no capability. tools/okf_accounting_gate.py asks, per README file type, how many of the elements a SOURCE holds okf build books as carried / pointer / coded rejection, with unaccounted and double-booked both required to be 0. Exit 1 today on rows 2, 3, 4 and 6. The fasit is tools/okf_witness.py (stdlib + pdfplumber + poppler, no package import; tested on the live import graph), committed as tests/fixtures/accounting/*inventory.json over one fixture per type. Measured: no source inventory (0 of 13); two graphics/ files carried through documents AND counted extractor_unknown (50 on R761 under --gate none); a refused document logged "0 carried of 0 found"; R761 refused whole because guard 1.4.0 treats its 71 U+00AD soft hyphens as an invisible carrier (asked of the security repo). The two R761 witnesses agree once STS labels are counted by role, not tag. Report: docs/2026-09-17-innholdsregnskapet-rod-gate.md Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
230 lines
4.6 KiB
JSON
230 lines
4.6 KiB
JSON
{
|
|
"documents": {
|
|
"krav-rikt-tekstformat.rtf": {
|
|
"elements": {
|
|
"cell": 56,
|
|
"image": 0,
|
|
"paragraph": 3,
|
|
"table_row": 24
|
|
},
|
|
"images": [],
|
|
"suffix": ".rtf",
|
|
"witness": "rtf control words"
|
|
},
|
|
"krav-tekstdokument.odt": {
|
|
"elements": {
|
|
"cell": 56,
|
|
"heading": 1,
|
|
"image": 0,
|
|
"list_item": 0,
|
|
"paragraph": 2,
|
|
"table": 2
|
|
},
|
|
"images": [],
|
|
"suffix": ".odt",
|
|
"witness": "odt zip xml"
|
|
},
|
|
"logg.txt": {
|
|
"elements": {
|
|
"line": 4,
|
|
"paragraph": 3
|
|
},
|
|
"images": [],
|
|
"suffix": ".txt",
|
|
"witness": "text lines"
|
|
},
|
|
"mengder.csv": {
|
|
"elements": {
|
|
"cell": 6,
|
|
"header_cell": 3,
|
|
"row": 2
|
|
},
|
|
"images": [],
|
|
"suffix": ".csv",
|
|
"witness": "csv"
|
|
},
|
|
"notat.md": {
|
|
"elements": {
|
|
"code_block": 1,
|
|
"heading": 2,
|
|
"image": 1,
|
|
"paragraph": 2,
|
|
"table": 1,
|
|
"table_row": 2
|
|
},
|
|
"images": [
|
|
{
|
|
"kind": "local",
|
|
"ref": "graphics/tabell-84-2.png",
|
|
"target": "graphics/tabell-84-2.png"
|
|
}
|
|
],
|
|
"suffix": ".md",
|
|
"witness": "markdown lines"
|
|
},
|
|
"parametre.json": {
|
|
"elements": {
|
|
"key": 6,
|
|
"value": 6
|
|
},
|
|
"images": [],
|
|
"suffix": ".json",
|
|
"witness": "json"
|
|
},
|
|
"prisark.xlsx": {
|
|
"elements": {
|
|
"cell": 18,
|
|
"image": 0,
|
|
"row": 9,
|
|
"sheet": 2
|
|
},
|
|
"images": [],
|
|
"suffix": ".xlsx",
|
|
"witness": "xlsx zip xml"
|
|
},
|
|
"prosess-84-notat.docx": {
|
|
"elements": {
|
|
"cell": 0,
|
|
"footnote": 0,
|
|
"heading": 0,
|
|
"image": 1,
|
|
"paragraph": 2,
|
|
"table": 0
|
|
},
|
|
"images": [
|
|
{
|
|
"kind": "embedded",
|
|
"ref": "",
|
|
"target": null
|
|
}
|
|
],
|
|
"suffix": ".docx",
|
|
"witness": "docx zip xml"
|
|
},
|
|
"prosess-84-presentasjon.pptx": {
|
|
"elements": {
|
|
"cell": 0,
|
|
"image": 1,
|
|
"paragraph": 0,
|
|
"slide": 1,
|
|
"table": 0,
|
|
"title": 1
|
|
},
|
|
"images": [
|
|
{
|
|
"kind": "embedded",
|
|
"ref": "",
|
|
"target": null
|
|
}
|
|
],
|
|
"suffix": ".pptx",
|
|
"witness": "pptx zip xml"
|
|
},
|
|
"prosess-84-sts.xml": {
|
|
"elements": {
|
|
"cell": 0,
|
|
"footnote": 0,
|
|
"image": 2,
|
|
"list_item": 0,
|
|
"paragraph": 2,
|
|
"section": 2,
|
|
"section_label": 2,
|
|
"table": 0,
|
|
"table_label": 0,
|
|
"title": 2
|
|
},
|
|
"images": [
|
|
{
|
|
"kind": "local",
|
|
"ref": "graphics/tabell-84-2.png",
|
|
"target": "graphics/tabell-84-2.png"
|
|
},
|
|
{
|
|
"kind": "local",
|
|
"ref": "figur-84-1.png",
|
|
"target": "graphics/figur-84-1.png"
|
|
}
|
|
],
|
|
"suffix": ".xml",
|
|
"witness": "xml.etree"
|
|
},
|
|
"prosess-84-tabell.pdf": {
|
|
"elements": {
|
|
"image": 2,
|
|
"page": 1
|
|
},
|
|
"images": [
|
|
{
|
|
"kind": "embedded",
|
|
"ref": "",
|
|
"target": null
|
|
},
|
|
{
|
|
"kind": "embedded",
|
|
"ref": "",
|
|
"target": null
|
|
}
|
|
],
|
|
"suffix": ".pdf",
|
|
"witness": "pdfplumber objects"
|
|
},
|
|
"prosess-84-web.html": {
|
|
"elements": {
|
|
"cell": 0,
|
|
"heading": 1,
|
|
"image": 3,
|
|
"list_item": 0,
|
|
"paragraph": 3,
|
|
"table": 0
|
|
},
|
|
"images": [
|
|
{
|
|
"kind": "local",
|
|
"ref": "graphics/tabell-84-2.png",
|
|
"target": "graphics/tabell-84-2.png"
|
|
},
|
|
{
|
|
"kind": "local",
|
|
"ref": "graphics/figur-84-1.png",
|
|
"target": "graphics/figur-84-1.png"
|
|
},
|
|
{
|
|
"kind": "remote",
|
|
"ref": "https://example.invalid/ekstern.png",
|
|
"target": null
|
|
}
|
|
],
|
|
"suffix": ".html",
|
|
"witness": "html.parser"
|
|
},
|
|
"side.htm": {
|
|
"elements": {
|
|
"cell": 4,
|
|
"heading": 2,
|
|
"image": 0,
|
|
"list_item": 2,
|
|
"paragraph": 1,
|
|
"table": 1
|
|
},
|
|
"images": [],
|
|
"suffix": ".htm",
|
|
"witness": "html.parser"
|
|
}
|
|
},
|
|
"files": {
|
|
"graphics/figur-84-1.png": {
|
|
"pointed_at_by": [
|
|
"prosess-84-sts.xml",
|
|
"prosess-84-web.html"
|
|
]
|
|
},
|
|
"graphics/tabell-84-2.png": {
|
|
"pointed_at_by": [
|
|
"notat.md",
|
|
"prosess-84-sts.xml",
|
|
"prosess-84-web.html"
|
|
]
|
|
}
|
|
},
|
|
"witness_version": 1
|
|
}
|