feat BREAKING hub feat/automation-ingest-policy-b #1 / 1
aaronrene · 9 days ago · Aug 24, 2026 · Diff

feat(hub): AIP-b automation ingest policy

Route matching cron writes through per-account ingest rules so robots can land notes or auto-apply without vault:write or a Review bypass.

sha256:4f7a536421fec9084b51a924bf9f3f2535fe5d05bf84d2ce36e17a5821c5a2e3 sha
+129 ~79 −4 symbols
sha256:6c8aa8eadc405505c07bd70eaa975ead45f3622dbf9e588acf7ffe7f442fe348 snapshot
+129
symbols added
~79
symbols modified
−4
symbols removed
0
dead code introduced
Semantic Changes 212 symbols
+ Build verification — AIP-b round 1 section Build verification — AIP-b round 1 L13–45
+ Checklist section Checklist L29–42
+ table section table L31–41
+ Evidence section Evidence L23–29
+ table section table L25–28
+ Findings section Findings L19–23
+ Honest summary section Honest summary L42–45
~ hub/gateway/automation-ingest-store.mjs .mjs 21 symbols added
+ emptyIdempotencyEnvelope function function emptyIdempotencyEnvelope L54–56
+ emptyRulesEnvelope function function emptyRulesEnvelope L50–52
+ getIngestIdempotency function async_function getIngestIdempotency L213–219
+ idempotencyFilePath function function idempotencyFilePath L38–40
+ isNetlify function function isNetlify L25–27
+ loadIdempotencyEnvelope function async_function loadIdempotencyEnvelope L156–169
+ loadIngestRulesForSub function async_function loadIngestRulesForSub L188–194
+ loadRulesEnvelope function async_function loadRulesEnvelope L128–141
+ putIngestIdempotency function async_function putIngestIdempotency L226–235
+ readJsonBlob function async_function readJsonBlob L90–100
+ readJsonFile function async_function readJsonFile L112–121
+ resolveDataDir function function resolveDataDir L29–32
+ resolveIdemBackend function function resolveIdemBackend L74–88
+ resolveRulesBackend function function resolveRulesBackend L58–72
+ rulesFilePath function function rulesFilePath L34–36
+ saveIdempotencyEnvelope function async_function saveIdempotencyEnvelope L171–182
+ saveIngestRulesForSub function async_function saveIngestRulesForSub L201–207
+ saveRulesEnvelope function async_function saveRulesEnvelope L143–154
+ wrapStoreError function function wrapStoreError L42–48
+ writeJsonBlob function async_function writeJsonBlob L102–110
+ writeJsonFile function async_function writeJsonFile L123–126
~ lib/automation-ingest-policy.mjs .mjs 24 symbols added
+ activeMatchPredicates function function activeMatchPredicates L57–60
+ buildSuccessEnvelope function function buildSuccessEnvelope L368–392
+ executeAutomationIngest function async_function executeAutomationIngest L430–546
+ existingFingerprint function function existingFingerprint L420–424
+ idempotencyKeyFromRequest function function idempotencyKeyFromRequest L78–87
+ idempotencyStoreKey function function idempotencyStoreKey L89–91
+ ingestAuditDetail function function ingestAuditDetail L394–418
+ ingestHttpError function function ingestHttpError L41–47
+ isIngestContractBody function function isIngestContractBody L97–102
+ isKnownContentClass class function isKnownContentClass L49–51
+ isValidFingerprint function function isValidFingerprint L74–76
+ listPackTemplates function function listPackTemplates L296–305
+ matchRule function function matchRule L181–209
+ mintRuleId function function mintRuleId L62–64
+ normalizeFingerprint function function normalizeFingerprint L70–72
+ normalizeIngestBody function function normalizeIngestBody L129–179
+ normalizeIngestPath function function normalizeIngestPath L108–123
+ normalizeRuleForSave function function normalizeRuleForSave L307–356
+ packagedDefaultPath function function packagedDefaultPath L33–39
+ predicateActive function function predicateActive L53–55
+ processAutomationIngest function async_function processAutomationIngest L552–643
+ routeAutomationIngest function function routeAutomationIngest L228–294
+ sendIngestError function function sendIngestError L645–654
+ stampIngestFrontmatter function function stampIngestFrontmatter L358–366
+ fail function function fail L16–19
+ redact function function redact L21–25
+ appendAudit method async_method appendAudit L28–28
+ createProposal method async_method createProposal L32–32
+ getIdempotency method async_method getIdempotency L26–26
+ markProposalApproved method async_method markProposalApproved L33–33
+ putIdempotency method async_method putIdempotency L27–27
+ readExistingNote method async_method readExistingNote L30–30
+ runBilling method async_method runBilling L29–29
+ writeNote method async_method writeNote L31–31
~ test/automation-ingest-e2e.test.mjs .mjs 3 symbols added
+ agentToken function function agentToken L42–57
+ auth function function auth L59–68
+ sessionToken function function sessionToken L38–40
+ appendAudit method async_method appendAudit L66–66
+ createProposal method async_method createProposal L70–77
+ getIdempotency method async_method getIdempotency L64–64
+ markProposalApproved method async_method markProposalApproved L78–78
+ putIdempotency method async_method putIdempotency L65–65
+ readExistingNote method async_method readExistingNote L68–68
+ runBilling method async_method runBilling L67–67
+ writeNote method async_method writeNote L69–69
+ appendAudit method async_method appendAudit L50–50
+ createProposal method async_method createProposal L54–54
+ getIdempotency method async_method getIdempotency L48–48
+ markProposalApproved method async_method markProposalApproved L55–55
+ putIdempotency method async_method putIdempotency L49–49
+ readExistingNote method async_method readExistingNote L52–52
+ runBilling method async_method runBilling L51–51
+ writeNote method async_method writeNote L53–53
~ test/automation-ingest-unit.test.mjs .mjs 1 symbol added
+ rule function function rule L21–31
~ docs/HUB-API.md .md 1 symbol added, 3 symbols modified
+ 0 Automation ingest (AIP) section 3.4.0 Automation ingest (AIP) L258–268
~ docs/OVERSEER-HANDOVER.md .md 5 symbols added, 4 symbols removed, 7 symbols modified
NEXT SESSION — AIP-b Auto (Knowtation PRIMARY) section NEXT SESSION — AIP-b Auto (Knowtation PRIMARY) L21–77
Paste-ready prompt — AIP-b Auto section Paste-ready prompt — AIP-b Auto L42–54
code[text] variable variable code[text] L44–53
THE ONE NEXT STEP — Model: Auto section THE ONE NEXT STEP — Model: Auto L30–34
+ NEXT SESSION — AIP-b SD-21 land (Knowtation PRIMARY) section NEXT SESSION — AIP-b SD-21 land (Knowtation PRIMARY) L21–87
+ Paste-ready prompt — AIP-b SD-21 land section Paste-ready prompt — AIP-b SD-21 land L46–64
+ code[text] variable variable code[text] L48–63
+ THE ONE NEXT STEP — Model: Operator + Auto section THE ONE NEXT STEP — Model: Operator + Auto L30–34
+ This session — AIP-b Auto DONE (2026-08-24) section This session — AIP-b Auto DONE (2026-08-24) L34–38
~ hub/gateway/server.mjs .mjs 13 symbols added
+ appendAudit method async_method appendAudit L4514–4521
+ createProposal method async_method createProposal L4557–4595
+ getIdempotency method async_method getIdempotency L4508–4510
+ handleHostedAutomationIngest function async_function handleHostedAutomationIngest L4613–4655
+ hostedIngestCanisterHeaders function async_function hostedIngestCanisterHeaders L4488–4503
+ ingestSessionWriteRole function function ingestSessionWriteRole L4484–4486
+ makeHostedIngestIo function function makeHostedIngestIo L4505–4611
+ markProposalApproved method async_method markProposalApproved L4596–4609
+ putIdempotency method async_method putIdempotency L4511–4513
+ readExistingNote method async_method readExistingNote L4528–4536
+ requireHostedSessionIngestCrud function async_function requireHostedSessionIngestCrud L4657–4675
+ runBilling method async_method runBilling L4522–4527
+ writeNote method async_method writeNote L4537–4556
~ hub/server.mjs .mjs 13 symbols added
+ appendAudit method async_method appendAudit L615–622
+ assertSelfHostedAgentScope function function assertSelfHostedAgentScope L570–583
+ createProposal method async_method createProposal L636–666
+ getIdempotency method async_method getIdempotency L609–611
+ handleSelfHostedAutomationIngest function async_function handleSelfHostedAutomationIngest L678–724
+ ingestSessionWriteRole function function ingestSessionWriteRole L585–587
+ makeSelfHostedIngestIo function function makeSelfHostedIngestIo L605–676
+ markProposalApproved method async_method markProposalApproved L667–674
+ putIdempotency method async_method putIdempotency L612–614
+ readExistingNote method async_method readExistingNote L626–632
+ requireSessionIngestCrud function function requireSessionIngestCrud L589–603
+ runBilling method async_method runBilling L623–625
+ writeNote method async_method writeNote L633–635
~ lib/list-notes.mjs .mjs 1 symbol modified
~ netlify/functions/gateway.mjs .mjs 1 symbol modified
~ web/hub/hub.js .js 2 symbols added, 2 symbols modified
+ loadIngestRulesPanel function async_function loadIngestRulesPanel L6132–6204
+ syncAgentCredIngestWarn function function syncAgentCredIngestWarn L6053–6058
~ web/hub/index.html .html 13 symbols added, 47 symbols modified
+ button#btn-ingest-rule-save section button#btn-ingest-rule-save L1548–1548
+ div#settings-panel-automation section div#settings-panel-automation L1506–1556
+ h3: Add rule section h3: Add rule L1525–1525
+ h3: Born Free templates section h3: Born Free templates L1551–1551
+ h3: Ingest rules section h3: Ingest rules L1508–1508
+ p#agent-cred-ingest-warn section p#agent-cred-ingest-warn L1463–1463
+ p#ingest-rules-msg section p#ingest-rules-msg L1550–1550
+ select#filter-content-class class section select#filter-content-class L185–190
+ select#ingest-rule-content-class class section select#ingest-rule-content-class L1538–1543
+ select#ingest-rule-disposition section select#ingest-rule-disposition L1532–1536
+ table#ingest-rules-table section table#ingest-rules-table L1510–1524
+ tbody#ingest-rules-tbody section tbody#ingest-rules-tbody L1521–1523
+ ul#ingest-templates-list section ul#ingest-templates-list L1553–1553
← Older Oldest on feat/automation-ingest-policy-b
All commits
Newer → Latest on feat/automation-ingest-policy-b

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:4f7a536421fec9084b51a924bf9f3f2535fe5d05bf84d2ce36e17a5821c5a2e3 --body "your comment"