Skip to content

Architecture decision records

One file per decision that will be questioned later, in the order they were made. Each records the context at the time, what was chosen, and what the choice costs — a record whose "consequences" section is all upside is a advertisement, not a decision record.

Format: MADR-flavoured, deliberately short.

# Decision Status
0001 Extract with pdftotext, not a document-understanding toolkit Accepted
0002 Ground by verifying quotes before writing, not by checking after Accepted
0003 Drive already-authenticated agent CLIs instead of handling API keys Accepted
0004 Grant provider subprocesses no tools, and run them in an empty directory Accepted
0005 Address the extraction cache by content, not by date Accepted
0006 Add an Agent Client Protocol transport beside the one-shot CLIs Accepted
0007 Make the document reader pluggable, with plain text the default Accepted
0008 Attribute sentences to claims; emit a C2PA manifest definition Accepted
0009 Add an opt-in semantic second gate over the verified claims Accepted
0010 Sign the C2PA manifest, and emit a portable verification record Accepted
0011 Add a direct-API escape hatch beside the keyless default Accepted

Writing a new one

Copy template.md, take the next number, add a row above. A decision that only ever had one plausible option does not need a record; a decision someone will later call obviously wrong does.