From 2b7a2f7c8fc399a36aadf591fd5160e8f2f32ca8 Mon Sep 17 00:00:00 2001 From: murraylovecode Date: Sat, 15 Aug 2026 04:20:05 -0700 Subject: [PATCH 1/2] Catalogue governed identity book metadata --- operations/batch-registry.yml | 9 + operations/research-roadmap.yml | 2 + package.json | 1 + scripts/validate-book-metadata-batch.ts | 153 ++ staging/batches/BATCH-2026-002/aliases.json | 33 + .../author-identity-review.json | 369 ++++ .../author-person-candidates.json | 1659 +++++++++++++++++ .../BATCH-2026-002/book-decisions.json | 92 + .../batches/BATCH-2026-002/book-editions.json | 679 +++++++ .../BATCH-2026-002/book-review-queue.csv | 10 + .../batches/BATCH-2026-002/book-works.json | 681 +++++++ .../BATCH-2026-002/duplicate-review.json | 30 + .../BATCH-2026-002/edition-conflicts.json | 100 + staging/batches/BATCH-2026-002/limitations.md | 15 + staging/batches/BATCH-2026-002/manifest.yml | 82 + .../BATCH-2026-002/metadata-sources.md | 65 + .../next-batch-recommendations.yml | 30 + .../related-source-candidates.json | 982 ++++++++++ .../BATCH-2026-002/rights-review-cases.json | 86 + .../batches/BATCH-2026-002/rights-review.md | 23 + .../BATCH-2026-002/validation-results.md | 37 + .../work-edition-relationships.json | 103 + 22 files changed, 5241 insertions(+) create mode 100644 scripts/validate-book-metadata-batch.ts create mode 100644 staging/batches/BATCH-2026-002/aliases.json create mode 100644 staging/batches/BATCH-2026-002/author-identity-review.json create mode 100644 staging/batches/BATCH-2026-002/author-person-candidates.json create mode 100644 staging/batches/BATCH-2026-002/book-decisions.json create mode 100644 staging/batches/BATCH-2026-002/book-editions.json create mode 100644 staging/batches/BATCH-2026-002/book-review-queue.csv create mode 100644 staging/batches/BATCH-2026-002/book-works.json create mode 100644 staging/batches/BATCH-2026-002/duplicate-review.json create mode 100644 staging/batches/BATCH-2026-002/edition-conflicts.json create mode 100644 staging/batches/BATCH-2026-002/limitations.md create mode 100644 staging/batches/BATCH-2026-002/manifest.yml create mode 100644 staging/batches/BATCH-2026-002/metadata-sources.md create mode 100644 staging/batches/BATCH-2026-002/next-batch-recommendations.yml create mode 100644 staging/batches/BATCH-2026-002/related-source-candidates.json create mode 100644 staging/batches/BATCH-2026-002/rights-review-cases.json create mode 100644 staging/batches/BATCH-2026-002/rights-review.md create mode 100644 staging/batches/BATCH-2026-002/validation-results.md create mode 100644 staging/batches/BATCH-2026-002/work-edition-relationships.json diff --git a/operations/batch-registry.yml b/operations/batch-registry.yml index cd30512..4d0104e 100644 --- a/operations/batch-registry.yml +++ b/operations/batch-registry.yml @@ -16,3 +16,12 @@ batches: candidate_counts: {considered: 120, accepted: 91, held: 19, rejected: 10} human_review_status: pending publication_status: staging_only + - batch_id: BATCH-2026-002 + branch: research/books-governed-agent-identities-BATCH-2026-002 + type: book_metadata + parent_batch_id: BATCH-2026-001 + prompt_id: OEII-BOOK-METADATA + prompt_version: "2.0" + record_counts: {accepted_input_books: 8, book_works: 9, book_editions: 14, author_candidates: 30, related_sources: 10} + human_review_status: pending + publication_status: staging_only diff --git a/operations/research-roadmap.yml b/operations/research-roadmap.yml index f86dfe8..3bd424f 100644 --- a/operations/research-roadmap.yml +++ b/operations/research-roadmap.yml @@ -5,6 +5,8 @@ protocols: protocol_slug: governed-identities-for-ai-agents discovery_batch: BATCH-2026-001 discovery_status: complete_pending_human_selection + book_metadata_batch: BATCH-2026-002 + book_metadata_status: complete_pending_human_review question: How do public executive and institutional sources define governance requirements for AI-agent identities? reason: Tests the statement/proposition model across security, architecture, legal, and board roles. - priority: 2 diff --git a/package.json b/package.json index f00d0e2..baddc29 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "validate:publication": "tsx scripts/cli.ts validate publication", "validate:content": "tsx scripts/cli.ts validate content", "validate:discovery": "tsx scripts/validate-discovery-batch.ts", + "validate:book-metadata": "tsx scripts/validate-book-metadata-batch.ts", "audit:duplicates": "tsx scripts/cli.ts audit duplicates", "audit:concentration": "tsx scripts/cli.ts audit concentration", "audit:coverage": "tsx scripts/cli.ts audit coverage", diff --git a/scripts/validate-book-metadata-batch.ts b/scripts/validate-book-metadata-batch.ts new file mode 100644 index 0000000..40d441e --- /dev/null +++ b/scripts/validate-book-metadata-batch.ts @@ -0,0 +1,153 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import process from 'node:process'; +import Ajv2020 from 'ajv/dist/2020.js'; +import addFormats from 'ajv-formats'; + +const batchId = process.argv[2]; +if (!batchId) throw new Error('Usage: validate-book-metadata-batch.ts '); +const root = process.cwd(); +const batchDir = path.join(root, 'staging', 'batches', batchId); +const readJson = (name: string) => JSON.parse(fs.readFileSync(path.join(batchDir, name), 'utf8')); + +const works = readJson('book-works.json'); +const editions = readJson('book-editions.json'); +const people = readJson('author-person-candidates.json'); +const relatedSources = readJson('related-source-candidates.json'); +const decisions = readJson('book-decisions.json'); +const relationships = readJson('work-edition-relationships.json').relationships; +const duplicateCases = readJson('duplicate-review.json').cases; +const conflicts = readJson('edition-conflicts.json').conflicts; + +const failures: string[] = []; +const warnings: string[] = []; +const passes: string[] = []; +const fail = (message: string) => failures.push(message); +const warn = (message: string) => warnings.push(message); +const pass = (message: string) => passes.push(message); + +const ajv = new Ajv2020({ allErrors: true, strict: false }); +addFormats(ajv); +const common = JSON.parse(fs.readFileSync(path.join(root, 'schema/common.schema.json'), 'utf8')); +ajv.addSchema(common); +const validateSet = (label: string, records: any[], schemaFile: string) => { + const schema = JSON.parse(fs.readFileSync(path.join(root, 'schema', schemaFile), 'utf8')); + const validate = ajv.compile(schema); + for (const record of records) if (!validate(record)) fail(`${label} schema: ${record.book_work_id ?? record.book_edition_id ?? record.person_id ?? record.source_id}: ${ajv.errorsText(validate.errors)}`); + if (!failures.some((item) => item.startsWith(`${label} schema:`))) pass(`${label} schema: ${records.length} record(s) conform.`); +}; +validateSet('Work', works, 'book-work.schema.json'); +validateSet('Edition', editions, 'book-edition.schema.json'); +validateSet('Person', people, 'person.schema.json'); +validateSet('Related source', relatedSources, 'source.schema.json'); + +const isbn10Valid = (value: string) => { + if (!/^[0-9]{9}[0-9X]$/.test(value)) return false; + return [...value].reduce((sum, char, index) => sum + (10 - index) * (char === 'X' ? 10 : Number(char)), 0) % 11 === 0; +}; +const isbn13Valid = (value: string) => /^[0-9]{13}$/.test(value) && [...value].reduce((sum, char, index) => sum + Number(char) * (index % 2 ? 3 : 1), 0) % 10 === 0; +const isbn10From13 = (value: string) => { + const core = value.slice(3, 12); + const partial = [...core].reduce((sum, char, index) => sum + Number(char) * (10 - index), 0); + const check = (11 - (partial % 11)) % 11; + return `${core}${check === 10 ? 'X' : check}`; +}; +const allIdentifiers = new Map(); +for (const edition of editions) { + const isbn10 = edition['ISBN-10']; + const isbn13 = edition['ISBN-13']; + const audio = edition.audiobook_identifier; + if (isbn10 && !isbn10Valid(isbn10)) fail(`ISBN validation: invalid ISBN-10 ${isbn10} on ${edition.book_edition_id}.`); + if (isbn13 && !isbn13Valid(isbn13)) fail(`ISBN validation: invalid ISBN-13 ${isbn13} on ${edition.book_edition_id}.`); + if (audio && !isbn13Valid(audio)) fail(`ISBN validation: invalid audiobook identifier ${audio} on ${edition.book_edition_id}.`); + if (isbn10 && isbn13?.startsWith('978') && isbn10From13(isbn13) !== isbn10) fail(`ISBN validation: ISBN-10/13 mismatch on ${edition.book_edition_id}.`); + for (const identifier of [isbn13, audio].filter(Boolean)) allIdentifiers.set(identifier, [...(allIdentifiers.get(identifier) ?? []), edition.book_edition_id]); +} +if (!failures.some((item) => item.startsWith('ISBN validation:'))) pass(`ISBN validation: ${editions.length} edition records have valid check digits and compatible pairs.`); +const duplicateIdentifiers = [...allIdentifiers.entries()].filter(([, ids]) => ids.length > 1); +if (duplicateIdentifiers.length) fail(`Duplicate ISBN detection: ${duplicateIdentifiers.map(([isbn, ids]) => `${isbn}=${ids.join('|')}`).join(', ')}`); +else pass('Duplicate ISBN detection: no ISBN-13 or audiobook identifier is assigned to multiple edition records.'); + +const normalize = (value: string) => value.toLowerCase().normalize('NFKD').replace(/[^a-z0-9]+/g, ' ').trim(); +const titleAuthorGroups = new Map(); +for (const work of works) { + const key = `${normalize(work.title)}::${[...work.authors].sort().join('|')}`; + titleAuthorGroups.set(key, [...(titleAuthorGroups.get(key) ?? []), work.book_work_id]); +} +const intendedDuplicates = new Set(duplicateCases.flatMap((item: any) => item.candidate_work_ids ?? [])); +const unreviewedTitleDuplicates = [...titleAuthorGroups.values()].filter((ids) => ids.length > 1 && ids.some((id) => !intendedDuplicates.has(id))); +if (unreviewedTitleDuplicates.length) fail(`Duplicate title/author detection: unreviewed work collisions ${JSON.stringify(unreviewedTitleDuplicates)}.`); +else pass('Duplicate title/author detection: the one collision is explicitly held as a materially revised work case.'); + +const workById = new Map(works.map((item: any) => [item.book_work_id, item])); +const editionById = new Map(editions.map((item: any) => [item.book_edition_id, item])); +for (const edition of editions) if (!workById.has(edition.book_work_id)) fail(`Work-edition conflict: ${edition.book_edition_id} references missing ${edition.book_work_id}.`); +for (const work of works) for (const editionId of work.edition_ids) if (!editionById.has(editionId) || editionById.get(editionId).book_work_id !== work.book_work_id) fail(`Work-edition conflict: ${work.book_work_id} has invalid edition link ${editionId}.`); +const expectedRelationships = new Set(editions.map((item: any) => `${item.book_work_id}::${item.book_edition_id}`)); +const actualRelationships = new Set(relationships.map((item: any) => `${item.book_work_id}::${item.book_edition_id}`)); +if (expectedRelationships.size !== actualRelationships.size || [...expectedRelationships].some((item) => !actualRelationships.has(item))) fail('Work-edition conflict: relationship file does not exactly cover the edition records.'); +if (!failures.some((item) => item.startsWith('Work-edition conflict:'))) pass(`Work-edition relationships: ${editions.length} edition links are internally consistent.`); + +const personById = new Map(people.map((item: any) => [item.person_id, item])); +for (const work of works) for (const authorId of work.authors) { + const person = personById.get(authorId); + if (!person) fail(`Author identity: ${work.book_work_id} references missing ${authorId}.`); + else if (!person.authored_book_work_ids.includes(work.book_work_id)) fail(`Author identity: ${authorId} lacks backlink to ${work.book_work_id}.`); +} +if (!failures.some((item) => item.startsWith('Author identity:'))) pass(`Author identity: ${people.length} author candidates have unique IDs and reciprocal work links.`); +const duplicatePeople = [...people.reduce((map: Map, person: any) => map.set(normalize(person.canonical_name), [...(map.get(normalize(person.canonical_name)) ?? []), person.person_id]), new Map()).values()].filter((ids: string[]) => ids.length > 1); +if (duplicatePeople.length) fail(`Author identity: duplicate normalized people ${JSON.stringify(duplicatePeople)}.`); +if (people.some((item: any) => item.human_review_status !== 'pending' || item.public_profile_eligibility)) fail('Author identity: a person candidate is incorrectly human-approved or public-profile eligible.'); +else pass('Author identity: all people remain staging-only, human-pending, and ineligible for public profiles.'); + +const bases = new Set(['metadata_only','official_description','table_of_contents_only','authorized_preview','substantial_excerpt','full_text_lawfully_accessed','public_domain_full_text','licensed_full_text','author_provided_material','secondary_sources_only']); +for (const work of works) if (!bases.has(work.analysis_basis)) fail(`Access basis: unsupported primary basis ${work.analysis_basis} on ${work.book_work_id}.`); +for (const decision of decisions) { + const work = workById.get(decision.book_work_id); + if (!work) { + fail(`Access basis: decision references missing ${decision.book_work_id}.`); + continue; + } + if (decision.decision === 'deep_analysis_ready') { + if (work.analysis_basis !== 'full_text_lawfully_accessed') fail(`Access basis: ${work.book_work_id} is deep-analysis-ready without complete lawful access.`); + const analysisEdition = editions.find((edition: any) => edition.book_work_id === work.book_work_id && edition.source_used_for_analysis); + if (!analysisEdition?.full_text_available_for_research) fail(`Access basis: ${work.book_work_id} lacks an exact full-text analysis edition.`); + } +} +if (!failures.some((item) => item.startsWith('Access basis:'))) pass('Access-basis validation: every work uses exactly one allowed primary basis; two readiness decisions have exact complete-access editions.'); + +for (const collection of [works, editions, people, relatedSources]) for (const record of collection) { + if (!record.provenance?.length || record.provenance.some((item: any) => item.batch_id !== batchId || !item.source_url || !item.accessed_at)) fail(`Provenance: invalid provenance on ${record.book_work_id ?? record.book_edition_id ?? record.person_id ?? record.source_id}.`); +} +if (!failures.some((item) => item.startsWith('Provenance:'))) pass('Provenance: every staged entity has batch-linked public-source provenance.'); + +for (const work of works) if (!work.rights_notes) fail(`Rights status: missing work rights note on ${work.book_work_id}.`); +for (const edition of editions) if (!edition.publication_permission || !edition.access_basis) fail(`Rights status: missing edition access or permission status on ${edition.book_edition_id}.`); +if (!failures.some((item) => item.startsWith('Rights status:'))) pass('Rights status: all works and editions record access and publication limits.'); + +if (conflicts.filter((item: any) => item.status.startsWith('unresolved')).length !== 1) fail('Edition conflict: expected exactly one unresolved materially revised work conflict.'); +else pass(`Edition conflict: ${conflicts.length} discrepancies recorded, with one unresolved work-identity decision.`); + +if (works.some((item: any) => item.analysis_depth !== 'catalogued')) fail('Analysis depth: one or more works claims review or deep analysis in a metadata batch.'); +else pass('Analysis depth: all work records remain catalogued; no unsupported review claim exists.'); +if ([...works, ...editions, ...people, ...relatedSources].some((item: any) => item.human_review_status === 'approved')) fail('Human review: approved status found in a machine-only batch.'); +else pass('Human review: no record is marked human approved.'); + +const walk = (dir: string): string[] => fs.existsSync(dir) ? fs.readdirSync(dir, { withFileTypes: true }).flatMap((entry) => entry.isDirectory() ? walk(path.join(dir, entry.name)) : [path.join(dir, entry.name)]) : []; +const leaks: string[] = []; +for (const top of ['data','content','docs','exports']) for (const file of walk(path.join(root, top))) { + if (!/\.(json|md|html|csv|ndjson|xml|txt)$/i.test(file)) continue; + if (fs.readFileSync(file, 'utf8').includes(batchId)) leaks.push(path.relative(root, file)); +} +if (leaks.length) fail(`Staging leak: ${batchId} appears in production paths: ${leaks.join(', ')}.`); +else pass('Staging leak: no batch entity appears in data, content, docs, or exports.'); + +if (works.filter((item: any) => item.provenance[0].notes?.includes('Accepted discovery candidate')).length !== 8) fail('Input scope: accepted discovery candidate count is not eight.'); +else warn('Input scope: only eight accepted books existed in the parent batch, below the template target; no held or rejected book was promoted.'); +if (editions.some((item: any) => item.language === 'it')) warn('Controlled vocabulary: verified Italian edition uses BCP 47 it, but lang-it is not yet in the canonical vocabulary.'); +if (people.some((item: any) => item.external_identifiers.official_profile_url === null)) warn('Author identity: individual official profiles and current roles remain unresolved for human follow-up.'); + +for (const message of passes) console.log(`PASS ${message}`); +for (const message of warnings) console.warn(`WARN ${message}`); +for (const message of failures) console.error(`FAIL ${message}`); +if (failures.length) process.exit(1); diff --git a/staging/batches/BATCH-2026-002/aliases.json b/staging/batches/BATCH-2026-002/aliases.json new file mode 100644 index 0000000..dbe6090 --- /dev/null +++ b/staging/batches/BATCH-2026-002/aliases.json @@ -0,0 +1,33 @@ +{ + "batch_id": "BATCH-2026-002", + "work_aliases": [ + { + "alias": "Solving the Bottom Turtle — a SPIFFE Way to Establish Trust in Your Infrastructure via Universal Identity", + "canonical_id": "book-work-BATCH-2026-002-001" + }, + { + "alias": "Zero Trust Networks, 2nd Edition", + "canonical_id": "book-work-BATCH-2026-002-002" + }, + { + "alias": "Solving Identity Management in Modern Applications, First Edition", + "canonical_id": "book-work-BATCH-2026-002-007" + }, + { + "alias": "Solving Identity Management in Modern Applications, Second Edition", + "canonical_id": "book-work-BATCH-2026-002-008" + } + ], + "person_aliases": [ + { + "alias": "Agustin Martinez Fayo", + "canonical_id": "person-BATCH-2026-002-009" + }, + { + "alias": "Andres Vega", + "canonical_id": "person-BATCH-2026-002-011" + } + ], + "unresolved": [], + "human_review_status": "pending" +} diff --git a/staging/batches/BATCH-2026-002/author-identity-review.json b/staging/batches/BATCH-2026-002/author-identity-review.json new file mode 100644 index 0000000..4a4889f --- /dev/null +++ b/staging/batches/BATCH-2026-002/author-identity-review.json @@ -0,0 +1,369 @@ +{ + "batch_id": "BATCH-2026-002", + "authors": [ + { + "person_id": "person-BATCH-2026-002-001", + "canonical_name": "Daniel Feldman", + "name_variants": [], + "author_attribution_url": "https://spiffe.io/book/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-002", + "canonical_name": "Emily Fox", + "name_variants": [], + "author_attribution_url": "https://spiffe.io/book/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-003", + "canonical_name": "Evan Gilman", + "name_variants": [], + "author_attribution_url": "https://spiffe.io/book/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-004", + "canonical_name": "Ian Haken", + "name_variants": [], + "author_attribution_url": "https://spiffe.io/book/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-005", + "canonical_name": "Frederick Kautz", + "name_variants": [], + "author_attribution_url": "https://spiffe.io/book/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-006", + "canonical_name": "Umair Khan", + "name_variants": [], + "author_attribution_url": "https://spiffe.io/book/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-007", + "canonical_name": "Max Lambrecht", + "name_variants": [], + "author_attribution_url": "https://spiffe.io/book/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-008", + "canonical_name": "Brandon Lum", + "name_variants": [], + "author_attribution_url": "https://spiffe.io/book/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-009", + "canonical_name": "Agustín Martínez Fayó", + "name_variants": [ + "Agustin Martinez Fayo" + ], + "author_attribution_url": "https://spiffe.io/book/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-010", + "canonical_name": "Eli Nesterov", + "name_variants": [], + "author_attribution_url": "https://spiffe.io/book/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-011", + "canonical_name": "Andrés Vega", + "name_variants": [ + "Andres Vega" + ], + "author_attribution_url": "https://spiffe.io/book/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-012", + "canonical_name": "Michael Wardrop", + "name_variants": [], + "author_attribution_url": "https://spiffe.io/book/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-013", + "canonical_name": "Razi Rais", + "name_variants": [], + "author_attribution_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781492096580/titlepage01.html", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-014", + "canonical_name": "Christina Morillo", + "name_variants": [], + "author_attribution_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781492096580/titlepage01.html", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-015", + "canonical_name": "Doug Barth", + "name_variants": [], + "author_attribution_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781492096580/titlepage01.html", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-016", + "canonical_name": "Justin Richer", + "name_variants": [], + "author_attribution_url": "https://www.manning.com/books/oauth-2-in-action", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-017", + "canonical_name": "Antonio Sanso", + "name_variants": [], + "author_attribution_url": "https://www.manning.com/books/oauth-2-in-action", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-018", + "canonical_name": "Neil Madden", + "name_variants": [], + "author_attribution_url": "https://www.manning.com/books/api-security-in-action", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-019", + "canonical_name": "Heather Adkins", + "name_variants": [], + "author_attribution_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-020", + "canonical_name": "Betsy Beyer", + "name_variants": [], + "author_attribution_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-021", + "canonical_name": "Paul Blankinship", + "name_variants": [], + "author_attribution_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-022", + "canonical_name": "Piotr Lewandowski", + "name_variants": [], + "author_attribution_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-023", + "canonical_name": "Ana Oprea", + "name_variants": [], + "author_attribution_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-024", + "canonical_name": "Adam Stubblefield", + "name_variants": [], + "author_attribution_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-025", + "canonical_name": "Lee Atchison", + "name_variants": [], + "author_attribution_url": "https://www.oreilly.com/library/view/identity-in-modern/9781098107789/", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-026", + "canonical_name": "Yvonne Wilson", + "name_variants": [], + "author_attribution_url": "https://link.springer.com/book/10.1007/978-1-4842-5095-2", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-027", + "canonical_name": "Abhishek Hingnikar", + "name_variants": [], + "author_attribution_url": "https://link.springer.com/book/10.1007/978-1-4842-5095-2", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-028", + "canonical_name": "Ev Kontsevoy", + "name_variants": [], + "author_attribution_url": "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/colophon01.html", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-029", + "canonical_name": "Sakshyam Shah", + "name_variants": [], + "author_attribution_url": "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/colophon01.html", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + }, + { + "person_id": "person-BATCH-2026-002-030", + "canonical_name": "Peter Conrad", + "name_variants": [], + "author_attribution_url": "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/colophon01.html", + "official_profile_url": null, + "current_role": null, + "current_role_status": "not_researched", + "identity_status": "work_attribution_verified_human_pending", + "possible_merge_ids": [], + "review_question": "Confirm person identity and locate an official individual profile before any public person record or current-role claim." + } + ] +} diff --git a/staging/batches/BATCH-2026-002/author-person-candidates.json b/staging/batches/BATCH-2026-002/author-person-candidates.json new file mode 100644 index 0000000..1f8bb86 --- /dev/null +++ b/staging/batches/BATCH-2026-002/author-person-candidates.json @@ -0,0 +1,1659 @@ +[ + { + "person_id": "person-BATCH-2026-002-001", + "canonical_name": "Daniel Feldman", + "display_name": "Daniel Feldman", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://spiffe.io/book/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-001" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 1 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-002", + "canonical_name": "Emily Fox", + "display_name": "Emily Fox", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://spiffe.io/book/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-001" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 2 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-003", + "canonical_name": "Evan Gilman", + "display_name": "Evan Gilman", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://spiffe.io/book/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-001", + "book-work-BATCH-2026-002-002" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 3 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-004", + "canonical_name": "Ian Haken", + "display_name": "Ian Haken", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://spiffe.io/book/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-001" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 4 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-005", + "canonical_name": "Frederick Kautz", + "display_name": "Frederick Kautz", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://spiffe.io/book/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-001" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 5 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-006", + "canonical_name": "Umair Khan", + "display_name": "Umair Khan", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://spiffe.io/book/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-001" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 6 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-007", + "canonical_name": "Max Lambrecht", + "display_name": "Max Lambrecht", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://spiffe.io/book/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-001" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 7 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-008", + "canonical_name": "Brandon Lum", + "display_name": "Brandon Lum", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://spiffe.io/book/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-001" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 8 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-009", + "canonical_name": "Agustín Martínez Fayó", + "display_name": "Agustín Martínez Fayó", + "alternate_names": [ + "Agustin Martinez Fayo" + ], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://spiffe.io/book/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-001" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 9 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-010", + "canonical_name": "Eli Nesterov", + "display_name": "Eli Nesterov", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://spiffe.io/book/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-001" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 10 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-011", + "canonical_name": "Andrés Vega", + "display_name": "Andrés Vega", + "alternate_names": [ + "Andres Vega" + ], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://spiffe.io/book/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-001" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 11 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-012", + "canonical_name": "Michael Wardrop", + "display_name": "Michael Wardrop", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://spiffe.io/book/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-001" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 12 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-013", + "canonical_name": "Razi Rais", + "display_name": "Razi Rais", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781492096580/titlepage01.html" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-002" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781492096580/titlepage01.html", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 13 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-014", + "canonical_name": "Christina Morillo", + "display_name": "Christina Morillo", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781492096580/titlepage01.html" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-002" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781492096580/titlepage01.html", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 14 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-015", + "canonical_name": "Doug Barth", + "display_name": "Doug Barth", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781492096580/titlepage01.html" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-002" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781492096580/titlepage01.html", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 15 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-016", + "canonical_name": "Justin Richer", + "display_name": "Justin Richer", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.manning.com/books/oauth-2-in-action" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-003" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.manning.com/books/oauth-2-in-action", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 16 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-017", + "canonical_name": "Antonio Sanso", + "display_name": "Antonio Sanso", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.manning.com/books/oauth-2-in-action" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-003" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.manning.com/books/oauth-2-in-action", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 17 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-018", + "canonical_name": "Neil Madden", + "display_name": "Neil Madden", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.manning.com/books/api-security-in-action" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-004" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.manning.com/books/api-security-in-action", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 18 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-019", + "canonical_name": "Heather Adkins", + "display_name": "Heather Adkins", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-005" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 19 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-020", + "canonical_name": "Betsy Beyer", + "display_name": "Betsy Beyer", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-005" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 20 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-021", + "canonical_name": "Paul Blankinship", + "display_name": "Paul Blankinship", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-005" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 21 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-022", + "canonical_name": "Piotr Lewandowski", + "display_name": "Piotr Lewandowski", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-005" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 22 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-023", + "canonical_name": "Ana Oprea", + "display_name": "Ana Oprea", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-005" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 23 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-024", + "canonical_name": "Adam Stubblefield", + "display_name": "Adam Stubblefield", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-005" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 24 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-025", + "canonical_name": "Lee Atchison", + "display_name": "Lee Atchison", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.oreilly.com/library/view/identity-in-modern/9781098107789/" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-006" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/identity-in-modern/9781098107789/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 25 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-026", + "canonical_name": "Yvonne Wilson", + "display_name": "Yvonne Wilson", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://link.springer.com/book/10.1007/978-1-4842-5095-2" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-007", + "book-work-BATCH-2026-002-008" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://link.springer.com/book/10.1007/978-1-4842-5095-2", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 26 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-027", + "canonical_name": "Abhishek Hingnikar", + "display_name": "Abhishek Hingnikar", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://link.springer.com/book/10.1007/978-1-4842-5095-2" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-007", + "book-work-BATCH-2026-002-008" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://link.springer.com/book/10.1007/978-1-4842-5095-2", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 27 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-028", + "canonical_name": "Ev Kontsevoy", + "display_name": "Ev Kontsevoy", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/colophon01.html" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-009" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/colophon01.html", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 28 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-029", + "canonical_name": "Sakshyam Shah", + "display_name": "Sakshyam Shah", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/colophon01.html" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-009" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/colophon01.html", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 29 of 30; current role not researched." + } + ], + "revision_history": [] + }, + { + "person_id": "person-BATCH-2026-002-030", + "canonical_name": "Peter Conrad", + "display_name": "Peter Conrad", + "alternate_names": [], + "name_disambiguation_note": "Verified only as the named author of the linked work; current role and broader identity profile were not inferred.", + "external_identifiers": { + "official_profile_url": null, + "author_attribution_url": "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/colophon01.html" + }, + "current_role": null, + "current_organization_reference": null, + "current_role_source": null, + "current_role_verified_at": null, + "current_role_freshness_status": "not_researched", + "historical_roles": [], + "role_at_source_time": [], + "professional_geographies": [], + "operating_markets": [], + "languages": [], + "expertise_topics": [ + "identity-and-access-management" + ], + "authored_book_work_ids": [ + "book-work-BATCH-2026-002-009" + ], + "contributed_work_ids": [], + "source_ids": [], + "statement_ids": [], + "proposition_relationships": [], + "relationship_to_off": "none_identified", + "disclosure": "Staging author identity candidate; named-human identity review pending.", + "public_profile_eligibility": false, + "verification_status": "verified_as_named_author_on_official_work_source", + "person_depth": "identity_record", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/colophon01.html", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page author attribution", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author candidate 30 of 30; current role not researched." + } + ], + "revision_history": [] + } +] diff --git a/staging/batches/BATCH-2026-002/book-decisions.json b/staging/batches/BATCH-2026-002/book-decisions.json new file mode 100644 index 0000000..2ac3bcc --- /dev/null +++ b/staging/batches/BATCH-2026-002/book-decisions.json @@ -0,0 +1,92 @@ +[ + { + "book_work_id": "book-work-BATCH-2026-002-001", + "accepted_candidate_id": "candidate-BATCH-2026-001-095", + "decision": "deep_analysis_ready", + "analysis_basis": "full_text_lawfully_accessed", + "analysis_depth": "catalogued", + "complete_lawful_access": true, + "human_review_status": "pending", + "reason": "Exact edition and complete lawful access are documented; no deep analysis has yet been performed." + }, + { + "book_work_id": "book-work-BATCH-2026-002-002", + "accepted_candidate_id": "candidate-BATCH-2026-001-096", + "decision": "catalogued", + "analysis_basis": "authorized_preview", + "analysis_depth": "catalogued", + "complete_lawful_access": false, + "human_review_status": "pending", + "reason": "Bibliographic identity is sufficiently stable for cataloguing, but complete lawful access and whole-work review are absent." + }, + { + "book_work_id": "book-work-BATCH-2026-002-003", + "accepted_candidate_id": "candidate-BATCH-2026-001-097", + "decision": "catalogued", + "analysis_basis": "authorized_preview", + "analysis_depth": "catalogued", + "complete_lawful_access": false, + "human_review_status": "pending", + "reason": "Bibliographic identity is sufficiently stable for cataloguing, but complete lawful access and whole-work review are absent." + }, + { + "book_work_id": "book-work-BATCH-2026-002-004", + "accepted_candidate_id": "candidate-BATCH-2026-001-098", + "decision": "catalogued", + "analysis_basis": "authorized_preview", + "analysis_depth": "catalogued", + "complete_lawful_access": false, + "human_review_status": "pending", + "reason": "Bibliographic identity is sufficiently stable for cataloguing, but complete lawful access and whole-work review are absent." + }, + { + "book_work_id": "book-work-BATCH-2026-002-005", + "accepted_candidate_id": "candidate-BATCH-2026-001-099", + "decision": "deep_analysis_ready", + "analysis_basis": "full_text_lawfully_accessed", + "analysis_depth": "catalogued", + "complete_lawful_access": true, + "human_review_status": "pending", + "reason": "Exact edition and complete lawful access are documented; no deep analysis has yet been performed." + }, + { + "book_work_id": "book-work-BATCH-2026-002-006", + "accepted_candidate_id": "candidate-BATCH-2026-001-100", + "decision": "catalogued", + "analysis_basis": "authorized_preview", + "analysis_depth": "catalogued", + "complete_lawful_access": false, + "human_review_status": "pending", + "reason": "Bibliographic identity is sufficiently stable for cataloguing, but complete lawful access and whole-work review are absent." + }, + { + "book_work_id": "book-work-BATCH-2026-002-007", + "accepted_candidate_id": "candidate-BATCH-2026-001-101", + "decision": "catalogued", + "analysis_basis": "table_of_contents_only", + "analysis_depth": "catalogued", + "complete_lawful_access": false, + "human_review_status": "pending", + "reason": "Bibliographic identity is sufficiently stable for cataloguing, but complete lawful access and whole-work review are absent." + }, + { + "book_work_id": "book-work-BATCH-2026-002-008", + "accepted_candidate_id": null, + "decision": "identity_review_required", + "analysis_basis": "table_of_contents_only", + "analysis_depth": "catalogued", + "complete_lawful_access": false, + "human_review_status": "pending", + "reason": "Material revision may constitute a separate intellectual work; human decision required." + }, + { + "book_work_id": "book-work-BATCH-2026-002-009", + "accepted_candidate_id": "candidate-BATCH-2026-001-102", + "decision": "catalogued", + "analysis_basis": "authorized_preview", + "analysis_depth": "catalogued", + "complete_lawful_access": false, + "human_review_status": "pending", + "reason": "Bibliographic identity is sufficiently stable for cataloguing, but complete lawful access and whole-work review are absent." + } +] diff --git a/staging/batches/BATCH-2026-002/book-editions.json b/staging/batches/BATCH-2026-002/book-editions.json new file mode 100644 index 0000000..9d2d4bf --- /dev/null +++ b/staging/batches/BATCH-2026-002/book-editions.json @@ -0,0 +1,679 @@ +[ + { + "book_edition_id": "book-edition-BATCH-2026-002-001", + "book_work_id": "book-work-BATCH-2026-002-001", + "edition_title": "Solving the Bottom Turtle — First Edition", + "publisher": "SPIFFE Project", + "imprint": null, + "publication_date": null, + "publication_country": "United States", + "language": "lang-en", + "translation_of": null, + "translator": null, + "format": "PDF", + "ISBN-10": "0578777371", + "ISBN-13": "9780578777375", + "audiobook_identifier": null, + "audiobook_narrator": null, + "edition_statement": "First edition", + "pagination": null, + "electronic_location_system": "PDF pages", + "source_used_for_analysis": true, + "access_basis": "public_official_pdf_cc_by_4_0", + "access_date": "2026-08-15", + "metadata_sources": [ + "https://spiffe.io/book/", + "https://spiffe.io/pdf/Solving-the-bottom-turtle-SPIFFE-SPIRE-Book.pdf" + ], + "full_text_available_for_research": true, + "publication_permission": "CC BY 4.0", + "verification_status": "machine_verified_human_pending", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Edition-level publisher or catalogue metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "CC BY 4.0" + } + ], + "revision_history": [] + }, + { + "book_edition_id": "book-edition-BATCH-2026-002-002", + "book_work_id": "book-work-BATCH-2026-002-002", + "edition_title": "Zero Trust Networks, 2nd Edition", + "publisher": "O’Reilly Media, Inc.", + "imprint": null, + "publication_date": null, + "publication_country": "United States", + "language": "lang-en", + "translation_of": null, + "translator": null, + "format": "O’Reilly Online Learning", + "ISBN-10": "149209658X", + "ISBN-13": "9781492096580", + "audiobook_identifier": null, + "audiobook_narrator": null, + "edition_statement": "Second edition", + "pagination": 334, + "electronic_location_system": "HTML chapters and stable page headings", + "source_used_for_analysis": true, + "access_basis": "publisher_metadata_and_authorized_preview", + "access_date": "2026-08-15", + "metadata_sources": [ + "https://www.oreilly.com/library/view/zero-trust-networks/9781492096580/titlepage01.html" + ], + "full_text_available_for_research": false, + "publication_permission": "Metadata, link, and brief necessary quotation only", + "verification_status": "machine_verified_human_pending", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781492096580/titlepage01.html", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Edition-level publisher or catalogue metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Metadata, link, and brief necessary quotation only" + } + ], + "revision_history": [] + }, + { + "book_edition_id": "book-edition-BATCH-2026-002-003", + "book_work_id": "book-work-BATCH-2026-002-002", + "edition_title": "Zero Trust Networks — Audiobook", + "publisher": "Ascent Audio", + "imprint": null, + "publication_date": null, + "publication_country": "United States", + "language": "lang-en", + "translation_of": null, + "translator": null, + "format": "audiobook", + "ISBN-10": null, + "ISBN-13": null, + "audiobook_identifier": "9781663735591", + "audiobook_narrator": "Mike Chamberlain", + "edition_statement": "Second-edition audiobook", + "pagination": null, + "electronic_location_system": "audio chapters and timestamps", + "source_used_for_analysis": false, + "access_basis": "publisher_metadata_only", + "access_date": "2026-08-15", + "metadata_sources": [ + "https://www.oreilly.com/library/view/zero-trust-networks/9781663735591/" + ], + "full_text_available_for_research": false, + "publication_permission": "Metadata and link only", + "verification_status": "machine_verified_human_pending", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781663735591/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Edition-level publisher or catalogue metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Metadata and link only" + } + ], + "revision_history": [] + }, + { + "book_edition_id": "book-edition-BATCH-2026-002-004", + "book_work_id": "book-work-BATCH-2026-002-002", + "edition_title": "Zero Trust Networks, 2a edizione", + "publisher": "O’Reilly Media, Inc.", + "imprint": null, + "publication_date": null, + "publication_country": "Italy", + "language": "it", + "translation_of": "book-work-BATCH-2026-002-002", + "translator": null, + "format": "ebook", + "ISBN-10": null, + "ISBN-13": "9798341638693", + "audiobook_identifier": null, + "audiobook_narrator": null, + "edition_statement": "Italian translation of second edition", + "pagination": 334, + "electronic_location_system": "HTML chapters", + "source_used_for_analysis": false, + "access_basis": "publisher_metadata_only", + "access_date": "2026-08-15", + "metadata_sources": [ + "https://www.oreilly.com/library/view/zero-trust-networks/9798341638693/" + ], + "full_text_available_for_research": false, + "publication_permission": "Metadata and link only; translator unresolved and lang-it is not yet in the canonical controlled vocabulary", + "verification_status": "identity_review_required", + "workflow_status": "candidate", + "machine_review_status": "issues_found", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/zero-trust-networks/9798341638693/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Edition-level publisher or catalogue metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Metadata and link only; translator unresolved and lang-it is not yet in the canonical controlled vocabulary" + } + ], + "revision_history": [] + }, + { + "book_edition_id": "book-edition-BATCH-2026-002-005", + "book_work_id": "book-work-BATCH-2026-002-003", + "edition_title": "OAuth 2 in Action", + "publisher": "Manning Publications", + "imprint": null, + "publication_date": null, + "publication_country": "United States", + "language": "lang-en", + "translation_of": null, + "translator": null, + "format": "print with bundled ebook", + "ISBN-10": "161729327X", + "ISBN-13": "9781617293276", + "audiobook_identifier": null, + "audiobook_narrator": null, + "edition_statement": "First edition", + "pagination": 360, + "electronic_location_system": "print pages; ebook chapters", + "source_used_for_analysis": true, + "access_basis": "publisher_metadata_and_authorized_preview", + "access_date": "2026-08-15", + "metadata_sources": [ + "https://www.manning.com/books/oauth-2-in-action", + "https://www.manning.com/preview/oauth-2-in-action/chapter-1" + ], + "full_text_available_for_research": false, + "publication_permission": "Metadata, link, and authorized-preview use only", + "verification_status": "machine_verified_human_pending", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.manning.com/books/oauth-2-in-action", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Edition-level publisher or catalogue metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Metadata, link, and authorized-preview use only" + } + ], + "revision_history": [] + }, + { + "book_edition_id": "book-edition-BATCH-2026-002-006", + "book_work_id": "book-work-BATCH-2026-002-004", + "edition_title": "API Security in Action", + "publisher": "Manning Publications", + "imprint": null, + "publication_date": null, + "publication_country": "United States", + "language": "lang-en", + "translation_of": null, + "translator": null, + "format": "print with bundled ebook", + "ISBN-10": "1617296023", + "ISBN-13": "9781617296024", + "audiobook_identifier": null, + "audiobook_narrator": null, + "edition_statement": "First edition", + "pagination": 576, + "electronic_location_system": "print pages; ebook chapters", + "source_used_for_analysis": true, + "access_basis": "publisher_metadata_and_authorized_preview", + "access_date": "2026-08-15", + "metadata_sources": [ + "https://www.manning.com/books/api-security-in-action", + "https://livebook.manning.com/book/api-security-in-action/contents" + ], + "full_text_available_for_research": false, + "publication_permission": "Metadata, link, and authorized-preview use only", + "verification_status": "machine_verified_human_pending", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.manning.com/books/api-security-in-action", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Edition-level publisher or catalogue metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Metadata, link, and authorized-preview use only" + } + ], + "revision_history": [] + }, + { + "book_edition_id": "book-edition-BATCH-2026-002-007", + "book_work_id": "book-work-BATCH-2026-002-005", + "edition_title": "Building Secure and Reliable Systems — O’Reilly Online Learning", + "publisher": "O’Reilly Media, Inc.", + "imprint": null, + "publication_date": null, + "publication_country": "United States", + "language": "lang-en", + "translation_of": null, + "translator": null, + "format": "online edition", + "ISBN-10": "1492083119", + "ISBN-13": "9781492083115", + "audiobook_identifier": null, + "audiobook_narrator": null, + "edition_statement": "First edition", + "pagination": 555, + "electronic_location_system": "HTML chapters and headings", + "source_used_for_analysis": true, + "access_basis": "official_complete_html_full_text", + "access_date": "2026-08-15", + "metadata_sources": [ + "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "https://google.github.io/building-secure-and-reliable-systems/" + ], + "full_text_available_for_research": true, + "publication_permission": "Complete official text accessible for research; no open republication license identified", + "verification_status": "machine_verified_human_pending", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Edition-level publisher or catalogue metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Complete official text accessible for research; no open republication license identified" + } + ], + "revision_history": [] + }, + { + "book_edition_id": "book-edition-BATCH-2026-002-008", + "book_work_id": "book-work-BATCH-2026-002-005", + "edition_title": "Building Secure and Reliable Systems — Print", + "publisher": "O’Reilly Media, Inc.", + "imprint": null, + "publication_date": null, + "publication_country": "United States", + "language": "lang-en", + "translation_of": null, + "translator": null, + "format": "print", + "ISBN-10": "1492083127", + "ISBN-13": "9781492083122", + "audiobook_identifier": null, + "audiobook_narrator": null, + "edition_statement": "First edition", + "pagination": 557, + "electronic_location_system": "print pages", + "source_used_for_analysis": false, + "access_basis": "publisher_and_library_metadata", + "access_date": "2026-08-15", + "metadata_sources": [ + "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "https://lccn.loc.gov/2021277046" + ], + "full_text_available_for_research": false, + "publication_permission": "Metadata and link only", + "verification_status": "machine_verified_human_pending", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/building-secure-and/9781492083115/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Edition-level publisher or catalogue metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Metadata and link only" + } + ], + "revision_history": [] + }, + { + "book_edition_id": "book-edition-BATCH-2026-002-009", + "book_work_id": "book-work-BATCH-2026-002-005", + "edition_title": "Building Secure and Reliable Systems — Reflowable eText", + "publisher": "O’Reilly Media, Inc.", + "imprint": null, + "publication_date": null, + "publication_country": "United States", + "language": "lang-en", + "translation_of": null, + "translator": null, + "format": "reflowable ebook", + "ISBN-10": "1492083070", + "ISBN-13": "9781492083078", + "audiobook_identifier": null, + "audiobook_narrator": null, + "edition_statement": "First edition digital manifestation", + "pagination": null, + "electronic_location_system": "reflowable electronic locations", + "source_used_for_analysis": false, + "access_basis": "supplementary_bookseller_metadata", + "access_date": "2026-08-15", + "metadata_sources": [ + "https://www.vitalsource.com/products/building-secure-and-reliable-systems-heather-adkins-betsy-beyer-v9781492083078" + ], + "full_text_available_for_research": false, + "publication_permission": "Metadata and link only; publisher confirmation desirable", + "verification_status": "machine_verified_human_pending", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.vitalsource.com/products/building-secure-and-reliable-systems-heather-adkins-betsy-beyer-v9781492083078", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Edition-level publisher or catalogue metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Metadata and link only; publisher confirmation desirable" + } + ], + "revision_history": [] + }, + { + "book_edition_id": "book-edition-BATCH-2026-002-010", + "book_work_id": "book-work-BATCH-2026-002-006", + "edition_title": "Identity in Modern Applications", + "publisher": "O’Reilly Media, Inc.", + "imprint": null, + "publication_date": null, + "publication_country": "United States", + "language": "lang-en", + "translation_of": null, + "translator": null, + "format": "online short report", + "ISBN-10": "1098107780", + "ISBN-13": "9781098107789", + "audiobook_identifier": null, + "audiobook_narrator": null, + "edition_statement": "First edition", + "pagination": 35, + "electronic_location_system": "HTML sections", + "source_used_for_analysis": true, + "access_basis": "publisher_metadata_and_authorized_preview", + "access_date": "2026-08-15", + "metadata_sources": [ + "https://www.oreilly.com/library/view/identity-in-modern/9781098107789/" + ], + "full_text_available_for_research": false, + "publication_permission": "Metadata, link, and authorized-preview use only", + "verification_status": "machine_verified_human_pending", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/identity-in-modern/9781098107789/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Edition-level publisher or catalogue metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Metadata, link, and authorized-preview use only" + } + ], + "revision_history": [] + }, + { + "book_edition_id": "book-edition-BATCH-2026-002-011", + "book_work_id": "book-work-BATCH-2026-002-007", + "edition_title": "Solving Identity Management in Modern Applications — First Edition eBook", + "publisher": "Apress", + "imprint": null, + "publication_date": "2019-12-18", + "publication_country": "United States", + "language": "lang-en", + "translation_of": null, + "translator": null, + "format": "ebook", + "ISBN-10": "1484250958", + "ISBN-13": "9781484250952", + "audiobook_identifier": null, + "audiobook_narrator": null, + "edition_statement": "First edition", + "pagination": 311, + "electronic_location_system": "PDF pages and chapter page ranges", + "source_used_for_analysis": true, + "access_basis": "official_publisher_metadata_and_toc", + "access_date": "2026-08-15", + "metadata_sources": [ + "https://link.springer.com/book/10.1007/978-1-4842-5095-2" + ], + "full_text_available_for_research": false, + "publication_permission": "Metadata and table-of-contents use only", + "verification_status": "machine_verified_human_pending", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://link.springer.com/book/10.1007/978-1-4842-5095-2", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Edition-level publisher or catalogue metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Metadata and table-of-contents use only" + } + ], + "revision_history": [] + }, + { + "book_edition_id": "book-edition-BATCH-2026-002-012", + "book_work_id": "book-work-BATCH-2026-002-008", + "edition_title": "Solving Identity Management in Modern Applications — Second Edition eBook", + "publisher": "Apress", + "imprint": null, + "publication_date": "2022-11-17", + "publication_country": "United States", + "language": "lang-en", + "translation_of": null, + "translator": null, + "format": "ebook", + "ISBN-10": "1484282612", + "ISBN-13": "9781484282618", + "audiobook_identifier": null, + "audiobook_narrator": null, + "edition_statement": "Second edition; expanded and revised", + "pagination": 384, + "electronic_location_system": "PDF pages and chapter page ranges", + "source_used_for_analysis": false, + "access_basis": "official_publisher_metadata_and_toc", + "access_date": "2026-08-15", + "metadata_sources": [ + "https://link.springer.com/book/10.1007/978-1-4842-8261-8" + ], + "full_text_available_for_research": false, + "publication_permission": "Metadata and table-of-contents use only; work identity pending human decision", + "verification_status": "identity_review_required", + "workflow_status": "candidate", + "machine_review_status": "issues_found", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://link.springer.com/book/10.1007/978-1-4842-8261-8", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Edition-level publisher or catalogue metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Metadata and table-of-contents use only; work identity pending human decision" + } + ], + "revision_history": [] + }, + { + "book_edition_id": "book-edition-BATCH-2026-002-013", + "book_work_id": "book-work-BATCH-2026-002-008", + "edition_title": "Solving Identity Management in Modern Applications — Second Edition Softcover", + "publisher": "Apress", + "imprint": null, + "publication_date": "2022-11-18", + "publication_country": "United States", + "language": "lang-en", + "translation_of": null, + "translator": null, + "format": "softcover", + "ISBN-10": "1484282604", + "ISBN-13": "9781484282601", + "audiobook_identifier": null, + "audiobook_narrator": null, + "edition_statement": "Second edition; expanded and revised", + "pagination": 384, + "electronic_location_system": "print pages", + "source_used_for_analysis": false, + "access_basis": "official_publisher_metadata_only", + "access_date": "2026-08-15", + "metadata_sources": [ + "https://link.springer.com/book/10.1007/978-1-4842-8261-8" + ], + "full_text_available_for_research": false, + "publication_permission": "Metadata only; work identity pending human decision", + "verification_status": "identity_review_required", + "workflow_status": "candidate", + "machine_review_status": "issues_found", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://link.springer.com/book/10.1007/978-1-4842-8261-8", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Edition-level publisher or catalogue metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Metadata only; work identity pending human decision" + } + ], + "revision_history": [] + }, + { + "book_edition_id": "book-edition-BATCH-2026-002-014", + "book_work_id": "book-work-BATCH-2026-002-009", + "edition_title": "Identity-Native Infrastructure Access Management", + "publisher": "O’Reilly Media, Inc.", + "imprint": null, + "publication_date": null, + "publication_country": "United States", + "language": "lang-en", + "translation_of": null, + "translator": null, + "format": "O’Reilly Online Learning", + "ISBN-10": "1098131886", + "ISBN-13": "9781098131883", + "audiobook_identifier": null, + "audiobook_narrator": null, + "edition_statement": "First edition", + "pagination": 154, + "electronic_location_system": "HTML chapters and headings", + "source_used_for_analysis": true, + "access_basis": "publisher_metadata_and_authorized_preview", + "access_date": "2026-08-15", + "metadata_sources": [ + "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/" + ], + "full_text_available_for_research": false, + "publication_permission": "Metadata, link, and authorized-preview use only", + "verification_status": "machine_verified_human_pending", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Edition-level publisher or catalogue metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Metadata, link, and authorized-preview use only" + } + ], + "revision_history": [] + } +] diff --git a/staging/batches/BATCH-2026-002/book-review-queue.csv b/staging/batches/BATCH-2026-002/book-review-queue.csv new file mode 100644 index 0000000..fd3224f --- /dev/null +++ b/staging/batches/BATCH-2026-002/book-review-queue.csv @@ -0,0 +1,10 @@ +"book_work_id","accepted_candidate_id","title","decision","analysis_basis","analysis_depth","edition_count","human_review_status","next_action" +"book-work-BATCH-2026-002-001","candidate-BATCH-2026-001-095","Solving the Bottom Turtle","deep_analysis_ready","full_text_lawfully_accessed","catalogued","1","pending","Schedule exact-edition deep-analysis batch with locator capture." +"book-work-BATCH-2026-002-002","candidate-BATCH-2026-001-096","Zero Trust Networks","catalogued","authorized_preview","catalogued","3","pending","Obtain complete lawful access or retain as catalogued." +"book-work-BATCH-2026-002-003","candidate-BATCH-2026-001-097","OAuth 2 in Action","catalogued","authorized_preview","catalogued","1","pending","Obtain complete lawful access or retain as catalogued." +"book-work-BATCH-2026-002-004","candidate-BATCH-2026-001-098","API Security in Action","catalogued","authorized_preview","catalogued","1","pending","Obtain complete lawful access or retain as catalogued." +"book-work-BATCH-2026-002-005","candidate-BATCH-2026-001-099","Building Secure and Reliable Systems","deep_analysis_ready","full_text_lawfully_accessed","catalogued","3","pending","Schedule exact-edition deep-analysis batch with locator capture." +"book-work-BATCH-2026-002-006","candidate-BATCH-2026-001-100","Identity in Modern Applications","catalogued","authorized_preview","catalogued","1","pending","Obtain complete lawful access or retain as catalogued." +"book-work-BATCH-2026-002-007","candidate-BATCH-2026-001-101","Solving Identity Management in Modern Applications","catalogued","table_of_contents_only","catalogued","1","pending","Obtain complete lawful access or retain as catalogued." +"book-work-BATCH-2026-002-008","","Solving Identity Management in Modern Applications","identity_review_required","table_of_contents_only","catalogued","2","pending","Resolve revised-work identity before analysis." +"book-work-BATCH-2026-002-009","candidate-BATCH-2026-001-102","Identity-Native Infrastructure Access Management","catalogued","authorized_preview","catalogued","1","pending","Obtain complete lawful access or retain as catalogued." diff --git a/staging/batches/BATCH-2026-002/book-works.json b/staging/batches/BATCH-2026-002/book-works.json new file mode 100644 index 0000000..a5bc701 --- /dev/null +++ b/staging/batches/BATCH-2026-002/book-works.json @@ -0,0 +1,681 @@ +[ + { + "book_work_id": "book-work-BATCH-2026-002-001", + "title": "Solving the Bottom Turtle", + "subtitle": "A SPIFFE Way to Establish Trust in Your Infrastructure via Universal Identity", + "alternate_titles": [ + "Solving the Bottom Turtle — a SPIFFE Way to Establish Trust in Your Infrastructure via Universal Identity" + ], + "authors": [ + "person-BATCH-2026-002-001", + "person-BATCH-2026-002-002", + "person-BATCH-2026-002-003", + "person-BATCH-2026-002-004", + "person-BATCH-2026-002-005", + "person-BATCH-2026-002-006", + "person-BATCH-2026-002-007", + "person-BATCH-2026-002-008", + "person-BATCH-2026-002-009", + "person-BATCH-2026-002-010", + "person-BATCH-2026-002-011", + "person-BATCH-2026-002-012" + ], + "contributors": [], + "original_language": "lang-en", + "first_publication_date": null, + "work_type": "collaborative_technical_book", + "topics": [ + "governed-agent-identities", + "identity-and-access-management" + ], + "central_subjects": [ + "SPIFFE and SPIRE", + "workload identity", + "universal service identity", + "infrastructure trust" + ], + "inclusion_rationale": "Officially published, openly licensed treatment of workload identity and trust establishment that can inform—but must not be assumed identical to—AI-agent identity design.", + "analysis_depth": "catalogued", + "analysis_basis": "full_text_lawfully_accessed", + "central_thesis": null, + "principal_propositions": [], + "frameworks": [], + "evidence_base": "Bibliographic and access verification only; no whole-book argument synthesis performed in this batch.", + "executive_role_implications": {}, + "strongest_documented_arguments": [], + "limitations": [ + "No unsupported chapter summary or full-argument claim created.", + "Agent-specific contribution remains a question for a later complete-review batch." + ], + "counterpoints": [], + "later_author_interview_source_ids": [], + "related_book_work_ids": [], + "related_report_ids": [], + "changes_in_later_statements": [], + "edition_ids": [ + "book-edition-BATCH-2026-002-001" + ], + "related_source_ids": [], + "related_statement_ids": [], + "related_proposition_ids": [], + "related_dossier_ids": [], + "rights_notes": "Official PDF states CC BY 4.0; complete public text may be analyzed under that license.", + "review_status": "deep_analysis_ready", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page and bibliographic metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Accepted discovery candidate candidate-BATCH-2026-001-095." + } + ], + "revision_history": [] + }, + { + "book_work_id": "book-work-BATCH-2026-002-002", + "title": "Zero Trust Networks", + "subtitle": "Building Secure Systems in Untrusted Networks", + "alternate_titles": [ + "Zero Trust Networks, 2nd Edition" + ], + "authors": [ + "person-BATCH-2026-002-013", + "person-BATCH-2026-002-014", + "person-BATCH-2026-002-003", + "person-BATCH-2026-002-015" + ], + "contributors": [], + "original_language": "lang-en", + "first_publication_date": null, + "work_type": "materially_revised_second_edition_work", + "topics": [ + "governed-agent-identities", + "identity-and-access-management" + ], + "central_subjects": [ + "zero trust", + "authentication", + "authorization", + "policy enforcement", + "network and workload identity" + ], + "inclusion_rationale": "The revised four-author work provides foundational architecture for identity-first, least-privilege agent access; the agent-specific applicability requires complete review.", + "analysis_depth": "catalogued", + "analysis_basis": "authorized_preview", + "central_thesis": null, + "principal_propositions": [], + "frameworks": [], + "evidence_base": "Bibliographic and access verification only; no whole-book argument synthesis performed in this batch.", + "executive_role_implications": {}, + "strongest_documented_arguments": [], + "limitations": [ + "No unsupported chapter summary or full-argument claim created.", + "Agent-specific contribution remains a question for a later complete-review batch." + ], + "counterpoints": [], + "later_author_interview_source_ids": [], + "related_book_work_ids": [], + "related_report_ids": [], + "changes_in_later_statements": [], + "edition_ids": [ + "book-edition-BATCH-2026-002-002", + "book-edition-BATCH-2026-002-003", + "book-edition-BATCH-2026-002-004" + ], + "related_source_ids": [], + "related_statement_ids": [], + "related_proposition_ids": [], + "related_dossier_ids": [], + "rights_notes": "Metadata, table of contents, and authorized preview only; no complete text was stored or claimed as reviewed.", + "review_status": "catalogued", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781492096580/titlepage01.html", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page and bibliographic metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Accepted discovery candidate candidate-BATCH-2026-001-096." + } + ], + "revision_history": [] + }, + { + "book_work_id": "book-work-BATCH-2026-002-003", + "title": "OAuth 2 in Action", + "subtitle": null, + "alternate_titles": [], + "authors": [ + "person-BATCH-2026-002-016", + "person-BATCH-2026-002-017" + ], + "contributors": [ + "Ian Glazer" + ], + "original_language": "lang-en", + "first_publication_date": null, + "work_type": "technical_book", + "topics": [ + "governed-agent-identities", + "identity-and-access-management" + ], + "central_subjects": [ + "OAuth 2.0", + "delegated authorization", + "tokens", + "client and resource-server security" + ], + "inclusion_rationale": "Foundational treatment of delegated authorization that may inform agents acting on behalf of users; agent-specific conclusions require full review.", + "analysis_depth": "catalogued", + "analysis_basis": "authorized_preview", + "central_thesis": null, + "principal_propositions": [], + "frameworks": [], + "evidence_base": "Bibliographic and access verification only; no whole-book argument synthesis performed in this batch.", + "executive_role_implications": {}, + "strongest_documented_arguments": [], + "limitations": [ + "No unsupported chapter summary or full-argument claim created.", + "Agent-specific contribution remains a question for a later complete-review batch." + ], + "counterpoints": [], + "later_author_interview_source_ids": [], + "related_book_work_ids": [], + "related_report_ids": [], + "changes_in_later_statements": [], + "edition_ids": [ + "book-edition-BATCH-2026-002-005" + ], + "related_source_ids": [], + "related_statement_ids": [], + "related_proposition_ids": [], + "related_dossier_ids": [], + "rights_notes": "Publisher metadata and authorized preview only; metadata and link use are permitted, quotation rights not established.", + "review_status": "catalogued", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.manning.com/books/oauth-2-in-action", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page and bibliographic metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Accepted discovery candidate candidate-BATCH-2026-001-097." + } + ], + "revision_history": [] + }, + { + "book_work_id": "book-work-BATCH-2026-002-004", + "title": "API Security in Action", + "subtitle": null, + "alternate_titles": [], + "authors": [ + "person-BATCH-2026-002-018" + ], + "contributors": [], + "original_language": "lang-en", + "first_publication_date": null, + "work_type": "technical_book", + "topics": [ + "governed-agent-identities", + "identity-and-access-management" + ], + "central_subjects": [ + "API security", + "authentication", + "authorization", + "audit logging", + "capability-based security" + ], + "inclusion_rationale": "Addresses the security boundary through which many agents invoke tools; relevance is architectural and does not establish agent-governance claims by itself.", + "analysis_depth": "catalogued", + "analysis_basis": "authorized_preview", + "central_thesis": null, + "principal_propositions": [], + "frameworks": [], + "evidence_base": "Bibliographic and access verification only; no whole-book argument synthesis performed in this batch.", + "executive_role_implications": {}, + "strongest_documented_arguments": [], + "limitations": [ + "No unsupported chapter summary or full-argument claim created.", + "Agent-specific contribution remains a question for a later complete-review batch." + ], + "counterpoints": [], + "later_author_interview_source_ids": [], + "related_book_work_ids": [], + "related_report_ids": [], + "changes_in_later_statements": [], + "edition_ids": [ + "book-edition-BATCH-2026-002-006" + ], + "related_source_ids": [], + "related_statement_ids": [], + "related_proposition_ids": [], + "related_dossier_ids": [], + "rights_notes": "Publisher metadata, contents, and authorized preview only; no full-book access or quotation permission recorded.", + "review_status": "catalogued", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.manning.com/books/api-security-in-action", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page and bibliographic metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Accepted discovery candidate candidate-BATCH-2026-001-098." + } + ], + "revision_history": [] + }, + { + "book_work_id": "book-work-BATCH-2026-002-005", + "title": "Building Secure and Reliable Systems", + "subtitle": "Best Practices for Designing, Implementing, and Maintaining Systems", + "alternate_titles": [], + "authors": [ + "person-BATCH-2026-002-019", + "person-BATCH-2026-002-020", + "person-BATCH-2026-002-021", + "person-BATCH-2026-002-022", + "person-BATCH-2026-002-023", + "person-BATCH-2026-002-024" + ], + "contributors": [], + "original_language": "lang-en", + "first_publication_date": "2020-04-08", + "work_type": "collaborative_technical_book", + "topics": [ + "governed-agent-identities", + "identity-and-access-management" + ], + "central_subjects": [ + "least privilege", + "secure and reliable system design", + "authorization policy", + "audit and incident response" + ], + "inclusion_rationale": "Official complete text covers least privilege, policy, access, audit, and responsibility; these are directly useful foundations for governed agents.", + "analysis_depth": "catalogued", + "analysis_basis": "full_text_lawfully_accessed", + "central_thesis": null, + "principal_propositions": [], + "frameworks": [], + "evidence_base": "Bibliographic and access verification only; no whole-book argument synthesis performed in this batch.", + "executive_role_implications": {}, + "strongest_documented_arguments": [], + "limitations": [ + "No unsupported chapter summary or full-argument claim created.", + "Agent-specific contribution remains a question for a later complete-review batch." + ], + "counterpoints": [], + "later_author_interview_source_ids": [], + "related_book_work_ids": [], + "related_report_ids": [], + "changes_in_later_statements": [], + "edition_ids": [ + "book-edition-BATCH-2026-002-007", + "book-edition-BATCH-2026-002-008", + "book-edition-BATCH-2026-002-009" + ], + "related_source_ids": [], + "related_statement_ids": [], + "related_proposition_ids": [], + "related_dossier_ids": [], + "rights_notes": "Complete official HTML is lawfully accessible for research, but no open reuse license was identified; publication remains limited to metadata, links, original paraphrase, and brief necessary quotation.", + "review_status": "deep_analysis_ready", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://google.github.io/building-secure-and-reliable-systems/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page and bibliographic metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Accepted discovery candidate candidate-BATCH-2026-001-099." + } + ], + "revision_history": [] + }, + { + "book_work_id": "book-work-BATCH-2026-002-006", + "title": "Identity in Modern Applications", + "subtitle": null, + "alternate_titles": [], + "authors": [ + "person-BATCH-2026-002-025" + ], + "contributors": [], + "original_language": "lang-en", + "first_publication_date": null, + "work_type": "short_technical_report", + "topics": [ + "governed-agent-identities", + "identity-and-access-management" + ], + "central_subjects": [ + "application identity", + "authentication", + "authorization", + "nonhuman identity", + "trust systems" + ], + "inclusion_rationale": "The official contents explicitly include nonhuman identities and trust systems, making the short work relevant to agent identity; complete argument review has not occurred.", + "analysis_depth": "catalogued", + "analysis_basis": "authorized_preview", + "central_thesis": null, + "principal_propositions": [], + "frameworks": [], + "evidence_base": "Bibliographic and access verification only; no whole-book argument synthesis performed in this batch.", + "executive_role_implications": {}, + "strongest_documented_arguments": [], + "limitations": [ + "No unsupported chapter summary or full-argument claim created.", + "Agent-specific contribution remains a question for a later complete-review batch." + ], + "counterpoints": [], + "later_author_interview_source_ids": [], + "related_book_work_ids": [], + "related_report_ids": [], + "changes_in_later_statements": [], + "edition_ids": [ + "book-edition-BATCH-2026-002-010" + ], + "related_source_ids": [], + "related_statement_ids": [], + "related_proposition_ids": [], + "related_dossier_ids": [], + "rights_notes": "Publisher metadata, contents, and authorized preview only; no complete text or republication permission recorded.", + "review_status": "catalogued", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/identity-in-modern/9781098107789/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page and bibliographic metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Accepted discovery candidate candidate-BATCH-2026-001-100." + } + ], + "revision_history": [] + }, + { + "book_work_id": "book-work-BATCH-2026-002-007", + "title": "Solving Identity Management in Modern Applications", + "subtitle": "Demystifying OAuth 2.0, OpenID Connect, and SAML 2.0", + "alternate_titles": [], + "authors": [ + "person-BATCH-2026-002-026", + "person-BATCH-2026-002-027" + ], + "contributors": [], + "original_language": "lang-en", + "first_publication_date": "2019-12-18", + "work_type": "technical_book_first_edition_work", + "topics": [ + "governed-agent-identities", + "identity-and-access-management" + ], + "central_subjects": [ + "identity lifecycle", + "authentication", + "authorization", + "OAuth 2.0", + "OpenID Connect", + "SAML 2.0" + ], + "inclusion_rationale": "Provides identity-lifecycle and protocol foundations applicable to provisioning and deprovisioning agent identities; the accepted candidate resolves to the first edition.", + "analysis_depth": "catalogued", + "analysis_basis": "table_of_contents_only", + "central_thesis": null, + "principal_propositions": [], + "frameworks": [], + "evidence_base": "Bibliographic and access verification only; no whole-book argument synthesis performed in this batch.", + "executive_role_implications": {}, + "strongest_documented_arguments": [], + "limitations": [ + "No unsupported chapter summary or full-argument claim created.", + "Agent-specific contribution remains a question for a later complete-review batch." + ], + "counterpoints": [], + "later_author_interview_source_ids": [], + "related_book_work_ids": [ + "book-work-BATCH-2026-002-008" + ], + "related_report_ids": [], + "changes_in_later_statements": [], + "edition_ids": [ + "book-edition-BATCH-2026-002-011" + ], + "related_source_ids": [], + "related_statement_ids": [], + "related_proposition_ids": [], + "related_dossier_ids": [], + "rights_notes": "Official publisher metadata and table of contents only; no complete lawful access or quotation permission recorded.", + "review_status": "catalogued", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://link.springer.com/book/10.1007/978-1-4842-5095-2", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page and bibliographic metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Accepted discovery candidate candidate-BATCH-2026-001-101." + } + ], + "revision_history": [] + }, + { + "book_work_id": "book-work-BATCH-2026-002-008", + "title": "Solving Identity Management in Modern Applications", + "subtitle": "Demystifying OAuth 2, OpenID Connect, and SAML 2", + "alternate_titles": [ + "Solving Identity Management in Modern Applications, Second Edition" + ], + "authors": [ + "person-BATCH-2026-002-026", + "person-BATCH-2026-002-027" + ], + "contributors": [], + "original_language": "lang-en", + "first_publication_date": "2022-11-17", + "work_type": "materially_revised_second_edition_work_candidate", + "topics": [ + "governed-agent-identities", + "identity-and-access-management" + ], + "central_subjects": [ + "identity lifecycle", + "OAuth 2.1", + "device authorization", + "identity proofing", + "consent", + "rich authorization requests" + ], + "inclusion_rationale": "Publisher describes an expanded and revised edition with new protocol and device-authorization material. It is staged as a related work candidate rather than silently merged with the accepted 2019 work.", + "analysis_depth": "catalogued", + "analysis_basis": "table_of_contents_only", + "central_thesis": null, + "principal_propositions": [], + "frameworks": [], + "evidence_base": "Bibliographic and access verification only; no whole-book argument synthesis performed in this batch.", + "executive_role_implications": {}, + "strongest_documented_arguments": [], + "limitations": [ + "No unsupported chapter summary or full-argument claim created.", + "Agent-specific contribution remains a question for a later complete-review batch." + ], + "counterpoints": [], + "later_author_interview_source_ids": [], + "related_book_work_ids": [ + "book-work-BATCH-2026-002-007" + ], + "related_report_ids": [], + "changes_in_later_statements": [], + "edition_ids": [ + "book-edition-BATCH-2026-002-012", + "book-edition-BATCH-2026-002-013" + ], + "related_source_ids": [], + "related_statement_ids": [], + "related_proposition_ids": [], + "related_dossier_ids": [], + "rights_notes": "Official publisher metadata and table of contents only; work-versus-edition relationship requires human identity review.", + "review_status": "identity_review_required", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "issues_found", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://link.springer.com/book/10.1007/978-1-4842-8261-8", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page and bibliographic metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Related materially revised work found during required edition reconciliation." + } + ], + "revision_history": [] + }, + { + "book_work_id": "book-work-BATCH-2026-002-009", + "title": "Identity-Native Infrastructure Access Management", + "subtitle": null, + "alternate_titles": [], + "authors": [ + "person-BATCH-2026-002-028", + "person-BATCH-2026-002-029", + "person-BATCH-2026-002-030" + ], + "contributors": [], + "original_language": "lang-en", + "first_publication_date": null, + "work_type": "technical_book", + "topics": [ + "governed-agent-identities", + "identity-and-access-management" + ], + "central_subjects": [ + "identity-native access", + "ephemeral credentials", + "identity attestation", + "authorization", + "audit" + ], + "inclusion_rationale": "Directly addresses ephemeral identities, machine access, authorization, and audit; agent-specific applicability requires complete review and vendor-context disclosure.", + "analysis_depth": "catalogued", + "analysis_basis": "authorized_preview", + "central_thesis": null, + "principal_propositions": [], + "frameworks": [], + "evidence_base": "Bibliographic and access verification only; no whole-book argument synthesis performed in this batch.", + "executive_role_implications": {}, + "strongest_documented_arguments": [], + "limitations": [ + "No unsupported chapter summary or full-argument claim created.", + "Agent-specific contribution remains a question for a later complete-review batch." + ], + "counterpoints": [], + "later_author_interview_source_ids": [], + "related_book_work_ids": [], + "related_report_ids": [], + "changes_in_later_statements": [], + "edition_ids": [ + "book-edition-BATCH-2026-002-014" + ], + "related_source_ids": [], + "related_statement_ids": [], + "related_proposition_ids": [], + "related_dossier_ids": [], + "rights_notes": "Publisher metadata, contents, author biographies, and authorized preview only; no complete text or quotation permission recorded.", + "review_status": "catalogued", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official work page and bibliographic metadata", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Accepted discovery candidate candidate-BATCH-2026-001-102." + } + ], + "revision_history": [] + } +] diff --git a/staging/batches/BATCH-2026-002/duplicate-review.json b/staging/batches/BATCH-2026-002/duplicate-review.json new file mode 100644 index 0000000..ec8043f --- /dev/null +++ b/staging/batches/BATCH-2026-002/duplicate-review.json @@ -0,0 +1,30 @@ +{ + "batch_id": "BATCH-2026-002", + "cases": [ + { + "case_id": "book-duplicate-001", + "normalized_title": "solving identity management in modern applications", + "candidate_work_ids": [ + "book-work-BATCH-2026-002-007", + "book-work-BATCH-2026-002-008" + ], + "decision": "do_not_merge_pending_human_review", + "reason": "Publisher documents material revisions and edition-number change." + }, + { + "case_id": "book-duplicate-002", + "normalized_title": "zero trust networks", + "candidate_work_ids": [ + "book-work-BATCH-2026-002-002" + ], + "related_edition_ids": [ + "book-edition-BATCH-2026-002-002", + "book-edition-BATCH-2026-002-003", + "book-edition-BATCH-2026-002-004" + ], + "decision": "one_revised_work_multiple_formats_and_translation", + "reason": "Audiobook and Italian translation are manifestations of the verified second-edition work; translator remains unresolved." + } + ], + "human_review_status": "pending" +} diff --git a/staging/batches/BATCH-2026-002/edition-conflicts.json b/staging/batches/BATCH-2026-002/edition-conflicts.json new file mode 100644 index 0000000..c703abf --- /dev/null +++ b/staging/batches/BATCH-2026-002/edition-conflicts.json @@ -0,0 +1,100 @@ +{ + "batch_id": "BATCH-2026-002", + "conflicts": [ + { + "conflict_id": "edition-conflict-001", + "candidate_id": "candidate-BATCH-2026-001-095", + "field": "authors", + "discovery_value": "Evan Gilman and Doug Barth", + "verified_value": [ + "Daniel Feldman", + "Emily Fox", + "Evan Gilman", + "Ian Haken", + "Frederick Kautz", + "Umair Khan", + "Max Lambrecht", + "Brandon Lum", + "Agustín Martínez Fayó", + "Eli Nesterov", + "Andrés Vega", + "Michael Wardrop" + ], + "status": "resolved_machine_pending_human", + "reason": "Official SPIFFE page and CC-licensed first-edition PDF name twelve authors; Doug Barth is not among them." + }, + { + "conflict_id": "edition-conflict-002", + "candidate_id": "candidate-BATCH-2026-001-096", + "field": "authors_and_date", + "discovery_value": { + "authors": "Evan Gilman and Doug Barth", + "date": "2021" + }, + "verified_value": { + "authors": [ + "Razi Rais", + "Christina Morillo", + "Evan Gilman", + "Doug Barth" + ], + "date": "February 2024" + }, + "status": "resolved_machine_pending_human", + "reason": "Official O’Reilly second-edition page supplies four authors and a February 2024 publication month." + }, + { + "conflict_id": "edition-conflict-003", + "candidate_id": "candidate-BATCH-2026-001-099", + "field": "authors", + "discovery_value": "Heather Adkins et al.", + "verified_value": [ + "Heather Adkins", + "Betsy Beyer", + "Paul Blankinship", + "Piotr Lewandowski", + "Ana Oprea", + "Adam Stubblefield" + ], + "status": "resolved_machine_pending_human", + "reason": "Official O’Reilly and Google pages enumerate six principal authors." + }, + { + "conflict_id": "edition-conflict-004", + "candidate_id": "candidate-BATCH-2026-001-100", + "field": "author_and_date", + "discovery_value": { + "author": "Phillip J. Windley", + "date": "2022" + }, + "verified_value": { + "author": "Lee Atchison", + "date": "July 2021" + }, + "status": "resolved_machine_pending_human", + "reason": "Official O’Reilly page identifies Lee Atchison and July 2021." + }, + { + "conflict_id": "edition-conflict-005", + "candidate_id": "candidate-BATCH-2026-001-101", + "field": "revised_work_identity", + "discovery_value": "2019 first edition only", + "verified_value": "Apress also publishes a materially expanded second edition with OAuth 2.1 and device-authorization additions.", + "status": "unresolved_human_work_identity", + "reason": "Do not silently merge a materially revised work; determine whether the 2023-labelled second edition is a new work or revised manifestation." + }, + { + "conflict_id": "edition-conflict-006", + "candidate_id": "candidate-BATCH-2026-001-102", + "field": "authors", + "discovery_value": "Ev Kontsevoy and Sakshyam Shah", + "verified_value": [ + "Ev Kontsevoy", + "Sakshyam Shah", + "Peter Conrad" + ], + "status": "resolved_machine_pending_human", + "reason": "Official O’Reilly page names Peter Conrad as a third author." + } + ] +} diff --git a/staging/batches/BATCH-2026-002/limitations.md b/staging/batches/BATCH-2026-002/limitations.md new file mode 100644 index 0000000..d6a0d77 --- /dev/null +++ b/staging/batches/BATCH-2026-002/limitations.md @@ -0,0 +1,15 @@ +# Limitations — BATCH-2026-002 + +- The parent batch supplied eight accepted books, below the prompt’s approximate 15–25 target. Held and rejected books were not silently promoted. +- Nine work records exist because a materially revised Apress second edition is staged as a separate related-work candidate pending human identity review. +- All records are staging-only, machine drafted, and human pending. +- `deep_analysis_ready` is an access-readiness decision, not a claim that a book was read or analyzed in full. +- Six works rely primarily on publisher metadata, contents, or authorized previews and remain catalogued only. +- Month-only publication dates are preserved in notes and left null in exact-date schema fields rather than invented. +- A translated Italian edition is verified, but its translator is unresolved and `lang-it` is not in the current controlled vocabulary. +- Current author roles, affiliations, geographies, personal profiles, and name variants were not exhaustively researched. Thirty author identity candidates require human review before public person records. +- The second edition of *Solving Identity Management in Modern Applications* is described by the publisher as expanded and revised. Its work-level identity remains unresolved. +- O’Reilly pagination can describe an online manifestation rather than a print physical extent; edition-specific values must not be interchanged. +- Related-source discovery was selective and official-source weighted. It is not an exhaustive review of interviews, talks, reviews, or academic responses. +- No unsupported chapter summaries, full-argument claims, page references, rankings, or publication-ready quotations were created. +- No complete copyrighted book or large excerpt was stored. diff --git a/staging/batches/BATCH-2026-002/manifest.yml b/staging/batches/BATCH-2026-002/manifest.yml new file mode 100644 index 0000000..df97e8a --- /dev/null +++ b/staging/batches/BATCH-2026-002/manifest.yml @@ -0,0 +1,82 @@ +batch_id: BATCH-2026-002 +parent_discovery_batch: BATCH-2026-001 +topic: governed identities for AI agents +prompt_id: OEII-BOOK-METADATA +prompt_version: "2.0" +branch: research/books-governed-agent-identities-BATCH-2026-002 +pull_request: null +execution_started_at: 2026-08-15T11:02:00Z +execution_completed_at: 2026-08-15T11:19:05Z +agent_or_researcher: OpenAI Codex; machine-assisted bibliographic research; human review pending +model_disclosure: AI-assisted metadata verification and reconciliation; no human approval and no production publication occurred. +scope_note: The parent discovery batch contained eight accepted books, below the template target of approximately 15–25. Only those eight were advanced; one materially revised related work was staged separately during edition reconciliation. +accepted_book_candidate_ids: + - candidate-BATCH-2026-001-095 + - candidate-BATCH-2026-001-096 + - candidate-BATCH-2026-001-097 + - candidate-BATCH-2026-001-098 + - candidate-BATCH-2026-001-099 + - candidate-BATCH-2026-001-100 + - candidate-BATCH-2026-001-101 + - candidate-BATCH-2026-001-102 +counts: + accepted_input_books: 8 + book_work_records: 9 + related_materially_revised_work_candidates: 1 + book_edition_records: 14 + author_person_candidates: 30 + related_source_candidates: 10 + catalogued: 6 + reviewed_candidate: 0 + deep_analysis_ready: 2 + identity_review_required: 1 + rights_review_required: 0 + held: 0 + rejected: 0 + unresolved_edition_conflicts: 1 + author_identity_reviews_pending: 30 +analysis_depth_note: Every work remains catalogued; deep_analysis_ready describes access readiness only and does not mean the book has been deeply analyzed. +production_records_created: 0 +human_review_status: pending +human_approved_records: 0 +output_files: + - manifest.yml + - book-works.json + - book-editions.json + - author-person-candidates.json + - related-source-candidates.json + - aliases.json + - work-edition-relationships.json + - duplicate-review.json + - rights-review-cases.json + - book-decisions.json + - book-review-queue.csv + - edition-conflicts.json + - author-identity-review.json + - metadata-sources.md + - rights-review.md + - limitations.md + - next-batch-recommendations.yml + - validation-results.md +validation_commands: + - node --import tsx scripts/validate-book-metadata-batch.ts BATCH-2026-002 + - node --import tsx scripts/cli.ts validate data + - node --import tsx scripts/cli.ts validate provenance + - node --import tsx scripts/cli.ts validate publication + - node --import tsx scripts/cli.ts validate rights + - node --import tsx scripts/cli.ts audit duplicates + - node --import tsx scripts/cli.ts audit coverage + - npm run lint + - npm run test + - git diff --check +validation_results: + - PASS; nine work, fourteen edition, thirty person, and ten related-source candidates conform to their canonical schemas. + - PASS; all ISBN-10, ISBN-13, and audiobook check digits; no duplicate ISBN assignments. + - PASS; duplicate title/author, work-edition relationships, reciprocal author links, provenance, access basis, rights status, analysis depth, human-review status, and staging isolation. + - PASS; six metadata discrepancies recorded; one materially revised work-identity conflict remains explicitly unresolved. + - WARN; only eight accepted input books existed, below the template target; no held or rejected book was promoted. + - WARN; verified Italian edition requires a future lang-it vocabulary change and translator resolution. + - WARN; thirty individual author profiles and current roles remain pending human identity research. + - PASS; repository data, provenance, attribution, statement, proposition, book-edition, locator, rights, review, publication, content, duplicate, concentration, and coverage gates. + - PASS; TypeScript, targeted ESLint, twenty-four unit tests, and git diff whitespace checks. +next_action: Named human should resolve the revised-work identity and Italian translator/language-vocabulary issues, confirm author identities, and authorize separate deep-analysis batches for exact editions with complete lawful access. diff --git a/staging/batches/BATCH-2026-002/metadata-sources.md b/staging/batches/BATCH-2026-002/metadata-sources.md new file mode 100644 index 0000000..6b1b440 --- /dev/null +++ b/staging/batches/BATCH-2026-002/metadata-sources.md @@ -0,0 +1,65 @@ +# Metadata sources — BATCH-2026-002 + +Publisher and project sources were used first. Catalogue or bookseller metadata was used only to supplement format-level identity. + +## Solving the Bottom Turtle + +- SPIFFE official book page: https://spiffe.io/book/ +- Official first-edition PDF: https://spiffe.io/pdf/Solving-the-bottom-turtle-SPIFFE-SPIRE-Book.pdf +- Verified: canonical title and subtitle, twelve authors, first-edition statement, 2020 year, ISBN 978-0-578-77737-5, and CC BY 4.0 license. +- Discovery correction: the earlier two-author attribution was incorrect; Doug Barth is not listed as an author of this work. + +## Zero Trust Networks, Second Edition + +- O’Reilly official edition page: https://www.oreilly.com/library/view/zero-trust-networks/9781492096580/titlepage01.html +- O’Reilly audiobook page: https://www.oreilly.com/library/view/zero-trust-networks/9781663735591/ +- O’Reilly Italian edition page: https://www.oreilly.com/library/view/zero-trust-networks/9798341638693/ +- Verified: four authors, second-edition identity, February 2024 date, 334-page online manifestation, ISBN 978-1-492-09658-0, audiobook identifier and narrator, and Italian translation ISBN. +- Discovery correction: the second edition is not a 2021 two-author edition. Translator metadata for the Italian manifestation remains unresolved. + +## OAuth 2 in Action + +- Manning official book page: https://www.manning.com/books/oauth-2-in-action +- Manning authorized Chapter 1 preview: https://www.manning.com/preview/oauth-2-in-action/chapter-1 +- Verified: Justin Richer and Antonio Sanso, foreword by Ian Glazer, March 2017, ISBN 978-1-61729-327-6, 360 pages, and print/eBook availability. + +## API Security in Action + +- Manning official book page: https://www.manning.com/books/api-security-in-action +- Manning official contents: https://livebook.manning.com/book/api-security-in-action/contents +- Verified: Neil Madden, November 2020, ISBN 978-1-61729-602-4, 576 pages, and publisher-supported preview forms. + +## Building Secure and Reliable Systems + +- O’Reilly official edition page: https://www.oreilly.com/library/view/building-secure-and/9781492083115/ +- Google official complete HTML: https://google.github.io/building-secure-and-reliable-systems/ +- Google SRE catalogue: https://sre.google/resources/ +- Library of Congress record: https://lccn.loc.gov/2021277046 +- Supplementary eText metadata: https://www.vitalsource.com/products/building-secure-and-reliable-systems-heather-adkins-betsy-beyer-v9781492083078 +- Verified: six principal authors, subtitle, official launch date, O’Reilly online ISBN 978-1-492-08311-5, print ISBN 978-1-492-08312-2, eText ISBN 978-1-492-08307-8, and official complete web access. +- Pagination differs by manifestation: O’Reilly online reports 555 pages while a print catalogue record reports 557. + +## Identity in Modern Applications + +- O’Reilly official page: https://www.oreilly.com/library/view/identity-in-modern/9781098107789/ +- Verified: Lee Atchison, July 2021, 35 pages, ISBN 978-1-0981-0778-9, and short-report scope. +- Discovery correction: the earlier attribution to Phillip J. Windley and 2022 date were incorrect. + +## Solving Identity Management in Modern Applications + +- Apress/Springer first-edition page: https://link.springer.com/book/10.1007/978-1-4842-5095-2 +- Apress/Springer second-edition page: https://link.springer.com/book/10.1007/978-1-4842-8261-8 +- Verified first edition: Yvonne Wilson and Abhishek Hingnikar, eBook publication 18 December 2019, ISBN 978-1-4842-5095-2, 311 pages. +- Verified second edition: substantially expanded and revised content, eBook ISBN 978-1-4842-8261-8, softcover ISBN 978-1-4842-8260-1, and 384 pages. +- Unresolved: whether the materially revised second edition should remain a manifestation of the first work or be treated as a separate work. This batch stages it separately pending human review. + +## Identity-Native Infrastructure Access Management + +- O’Reilly official page: https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/ +- O’Reilly official author page: https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/colophon01.html +- Verified: Ev Kontsevoy, Sakshyam Shah, and Peter Conrad; September 2023; 154 pages; ISBN 978-1-0981-3188-3. +- Discovery correction: the earlier record omitted Peter Conrad. + +## Source disagreement policy + +Month-only dates were not converted into invented exact dates. Pagination differences remain edition-specific. Material revisions, translations, and format identifiers are retained separately. No retail or affiliate URL is used as a canonical link. diff --git a/staging/batches/BATCH-2026-002/next-batch-recommendations.yml b/staging/batches/BATCH-2026-002/next-batch-recommendations.yml new file mode 100644 index 0000000..da67c46 --- /dev/null +++ b/staging/batches/BATCH-2026-002/next-batch-recommendations.yml @@ -0,0 +1,30 @@ +batch_id: BATCH-2026-002 +recommended_deep_analysis_batches: + - priority: 1 + work: Solving the Bottom Turtle + exact_edition: book-edition-BATCH-2026-002-001 + readiness: deep_analysis_ready + access_basis: Official complete first-edition PDF under CC BY 4.0 + focus: [workload identity, attestation, short-lived credentials, trust domains, applicability and limits for AI agents] + - priority: 2 + work: Building Secure and Reliable Systems + exact_edition: book-edition-BATCH-2026-002-007 + readiness: deep_analysis_ready + access_basis: Official complete Google HTML + focus: [least privilege, authorization policy, audit, breakglass access, responsibility, system lifecycle] +recommended_access_acquisition: + - work: Zero Trust Networks, Second Edition + reason: Strong foundational relevance; requires complete lawful access to distinguish revised material from the 2017 work. + - work: Identity-Native Infrastructure Access Management + reason: Direct machine and ephemeral identity relevance; full review should preserve Teleport vendor context. + - work: OAuth 2 in Action + reason: Delegation and token foundations; obtain exact edition access before agent-specific interpretation. +identity_actions: + - Resolve whether the 2022/2023 expanded Apress edition is a separate work or a materially revised edition of the 2019 work. + - Identify the Italian translator for Zero Trust Networks and propose lang-it through a separate controlled-vocabulary change. + - Confirm individual author identities and official profiles before creating canonical person records. +do_not_do: + - Do not transfer locators across editions or formats. + - Do not call catalogued books reviewed. + - Do not infer a book-wide argument from publisher copy, contents, or a short preview. + - Do not create production records without named-human review. diff --git a/staging/batches/BATCH-2026-002/related-source-candidates.json b/staging/batches/BATCH-2026-002/related-source-candidates.json new file mode 100644 index 0000000..9078719 --- /dev/null +++ b/staging/batches/BATCH-2026-002/related-source-candidates.json @@ -0,0 +1,982 @@ +[ + { + "source_id": "related-source-BATCH-2026-002-001", + "canonical_title": "Solving the Bottom Turtle official project page", + "alternate_titles": [], + "source_type": "other_approved", + "series_or_parent_source": null, + "publisher": "SPIFFE Project", + "channel": null, + "speaker_ids": [], + "author_ids": [], + "institutional_author": "SPIFFE Project", + "organization_references": [], + "recorded_at": null, + "event_date": null, + "published_at": null, + "updated_at": null, + "duration_seconds": null, + "language": "lang-en", + "translated_title": null, + "translation_method": null, + "geography_of_speaker": [], + "geography_of_organization": [], + "geography_discussed": [ + "geo-global" + ], + "study_geography": [], + "original_url": "https://spiffe.io/book/", + "canonical_url": "https://spiffe.io/book/", + "archived_url": null, + "embed_url": null, + "doi": null, + "canonical_identity_status": "machine_verified_human_pending", + "repost_status": "original_or_official", + "original_source_id": null, + "rights_status": "openly_licensed", + "ownership_status": "third_party", + "relationship_to_off": "none_identified", + "transcript_status": null, + "transcript_source": null, + "transcript_republication_permission": null, + "chapter_markers": [], + "analysis_basis": "official_description", + "topics": [ + "governed-agent-identities", + "book-related-source" + ], + "executive_roles": [ + "role-ciso", + "role-cio", + "role-cto" + ], + "original_abstract": null, + "inclusion_rationale": "Source and license context for book-work-BATCH-2026-002-001.", + "source_quality_dimensions": { + "primary_source": true, + "bibliographic_stability": "high" + }, + "methodology_quality": { + "not_applicable": true + }, + "study_design": null, + "sample": {}, + "population": null, + "date_range": {}, + "funding": null, + "sponsor": null, + "peer_review_status": null, + "findings": [], + "limitations": [ + "Candidate related source only; not accepted for statement extraction." + ], + "correction_ids": [], + "retraction_status": null, + "content_hash": null, + "accessed_at": "2026-08-15", + "verification_status": "machine_verified_human_pending", + "source_depth": "metadata_only", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://spiffe.io/book/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official related-source page", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Source and license context for book-work-BATCH-2026-002-001." + } + ], + "revision_history": [] + }, + { + "source_id": "related-source-BATCH-2026-002-002", + "canonical_title": "Zero Trust Networks — Audiobook", + "alternate_titles": [], + "source_type": "audiobook", + "series_or_parent_source": null, + "publisher": "Ascent Audio / O’Reilly", + "channel": null, + "speaker_ids": [], + "author_ids": [], + "institutional_author": "Ascent Audio / O’Reilly", + "organization_references": [], + "recorded_at": null, + "event_date": null, + "published_at": null, + "updated_at": null, + "duration_seconds": null, + "language": "lang-en", + "translated_title": null, + "translation_method": null, + "geography_of_speaker": [], + "geography_of_organization": [], + "geography_discussed": [ + "geo-global" + ], + "study_geography": [], + "original_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781663735591/", + "canonical_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781663735591/", + "archived_url": null, + "embed_url": null, + "doi": null, + "canonical_identity_status": "machine_verified_human_pending", + "repost_status": "original_or_official", + "original_source_id": null, + "rights_status": "metadata_only", + "ownership_status": "third_party", + "relationship_to_off": "none_identified", + "transcript_status": null, + "transcript_source": null, + "transcript_republication_permission": null, + "chapter_markers": [], + "analysis_basis": "official_metadata", + "topics": [ + "governed-agent-identities", + "book-related-source" + ], + "executive_roles": [ + "role-ciso", + "role-cio", + "role-cto" + ], + "original_abstract": null, + "inclusion_rationale": "Related format and narrator metadata for book-work-BATCH-2026-002-002.", + "source_quality_dimensions": { + "primary_source": true, + "bibliographic_stability": "high" + }, + "methodology_quality": { + "not_applicable": true + }, + "study_design": null, + "sample": {}, + "population": null, + "date_range": {}, + "funding": null, + "sponsor": null, + "peer_review_status": null, + "findings": [], + "limitations": [ + "Candidate related source only; not accepted for statement extraction." + ], + "correction_ids": [], + "retraction_status": null, + "content_hash": null, + "accessed_at": "2026-08-15", + "verification_status": "machine_verified_human_pending", + "source_depth": "metadata_only", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/zero-trust-networks/9781663735591/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official related-source page", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Related format and narrator metadata for book-work-BATCH-2026-002-002." + } + ], + "revision_history": [] + }, + { + "source_id": "related-source-BATCH-2026-002-003", + "canonical_title": "OAuth 2 in Action — Authorized Chapter 1 Preview", + "alternate_titles": [], + "source_type": "other_approved", + "series_or_parent_source": null, + "publisher": "Manning Publications", + "channel": null, + "speaker_ids": [], + "author_ids": [], + "institutional_author": "Manning Publications", + "organization_references": [], + "recorded_at": null, + "event_date": null, + "published_at": null, + "updated_at": null, + "duration_seconds": null, + "language": "lang-en", + "translated_title": null, + "translation_method": null, + "geography_of_speaker": [], + "geography_of_organization": [], + "geography_discussed": [ + "geo-global" + ], + "study_geography": [], + "original_url": "https://www.manning.com/preview/oauth-2-in-action/chapter-1", + "canonical_url": "https://www.manning.com/preview/oauth-2-in-action/chapter-1", + "archived_url": null, + "embed_url": null, + "doi": null, + "canonical_identity_status": "machine_verified_human_pending", + "repost_status": "original_or_official", + "original_source_id": null, + "rights_status": "link_and_paraphrase", + "ownership_status": "third_party", + "relationship_to_off": "none_identified", + "transcript_status": null, + "transcript_source": null, + "transcript_republication_permission": null, + "chapter_markers": [], + "analysis_basis": "authorized_preview", + "topics": [ + "governed-agent-identities", + "book-related-source" + ], + "executive_roles": [ + "role-ciso", + "role-cio", + "role-cto" + ], + "original_abstract": null, + "inclusion_rationale": "Limited authorized preview related to book-work-BATCH-2026-002-003.", + "source_quality_dimensions": { + "primary_source": true, + "bibliographic_stability": "high" + }, + "methodology_quality": { + "not_applicable": true + }, + "study_design": null, + "sample": {}, + "population": null, + "date_range": {}, + "funding": null, + "sponsor": null, + "peer_review_status": null, + "findings": [], + "limitations": [ + "Candidate related source only; not accepted for statement extraction." + ], + "correction_ids": [], + "retraction_status": null, + "content_hash": null, + "accessed_at": "2026-08-15", + "verification_status": "machine_verified_human_pending", + "source_depth": "metadata_only", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.manning.com/preview/oauth-2-in-action/chapter-1", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official related-source page", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Limited authorized preview related to book-work-BATCH-2026-002-003." + } + ], + "revision_history": [] + }, + { + "source_id": "related-source-BATCH-2026-002-004", + "canonical_title": "API Security in Action — Official Contents", + "alternate_titles": [], + "source_type": "other_approved", + "series_or_parent_source": null, + "publisher": "Manning Publications", + "channel": null, + "speaker_ids": [], + "author_ids": [], + "institutional_author": "Manning Publications", + "organization_references": [], + "recorded_at": null, + "event_date": null, + "published_at": null, + "updated_at": null, + "duration_seconds": null, + "language": "lang-en", + "translated_title": null, + "translation_method": null, + "geography_of_speaker": [], + "geography_of_organization": [], + "geography_discussed": [ + "geo-global" + ], + "study_geography": [], + "original_url": "https://livebook.manning.com/book/api-security-in-action/contents", + "canonical_url": "https://livebook.manning.com/book/api-security-in-action/contents", + "archived_url": null, + "embed_url": null, + "doi": null, + "canonical_identity_status": "machine_verified_human_pending", + "repost_status": "original_or_official", + "original_source_id": null, + "rights_status": "link_and_paraphrase", + "ownership_status": "third_party", + "relationship_to_off": "none_identified", + "transcript_status": null, + "transcript_source": null, + "transcript_republication_permission": null, + "chapter_markers": [], + "analysis_basis": "table_of_contents_only", + "topics": [ + "governed-agent-identities", + "book-related-source" + ], + "executive_roles": [ + "role-ciso", + "role-cio", + "role-cto" + ], + "original_abstract": null, + "inclusion_rationale": "Official contents related to book-work-BATCH-2026-002-004.", + "source_quality_dimensions": { + "primary_source": true, + "bibliographic_stability": "high" + }, + "methodology_quality": { + "not_applicable": true + }, + "study_design": null, + "sample": {}, + "population": null, + "date_range": {}, + "funding": null, + "sponsor": null, + "peer_review_status": null, + "findings": [], + "limitations": [ + "Candidate related source only; not accepted for statement extraction." + ], + "correction_ids": [], + "retraction_status": null, + "content_hash": null, + "accessed_at": "2026-08-15", + "verification_status": "machine_verified_human_pending", + "source_depth": "metadata_only", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://livebook.manning.com/book/api-security-in-action/contents", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official related-source page", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Official contents related to book-work-BATCH-2026-002-004." + } + ], + "revision_history": [] + }, + { + "source_id": "related-source-BATCH-2026-002-005", + "canonical_title": "Introducing our new book Building Secure and Reliable Systems", + "alternate_titles": [], + "source_type": "essay", + "series_or_parent_source": null, + "publisher": "Google Security Blog", + "channel": null, + "speaker_ids": [], + "author_ids": [], + "institutional_author": "Google Security Blog", + "organization_references": [], + "recorded_at": null, + "event_date": null, + "published_at": "2020-04-08", + "updated_at": null, + "duration_seconds": null, + "language": "lang-en", + "translated_title": null, + "translation_method": null, + "geography_of_speaker": [], + "geography_of_organization": [], + "geography_discussed": [ + "geo-global" + ], + "study_geography": [], + "original_url": "https://security.googleblog.com/2020/04/introducing-our-new-book-building.html", + "canonical_url": "https://security.googleblog.com/2020/04/introducing-our-new-book-building.html", + "archived_url": null, + "embed_url": null, + "doi": null, + "canonical_identity_status": "machine_verified_human_pending", + "repost_status": "original_or_official", + "original_source_id": null, + "rights_status": "link_and_paraphrase", + "ownership_status": "third_party", + "relationship_to_off": "none_identified", + "transcript_status": null, + "transcript_source": null, + "transcript_republication_permission": null, + "chapter_markers": [], + "analysis_basis": "official_description", + "topics": [ + "governed-agent-identities", + "book-related-source" + ], + "executive_roles": [ + "role-ciso", + "role-cio", + "role-cto" + ], + "original_abstract": null, + "inclusion_rationale": "Official launch essay related to book-work-BATCH-2026-002-005.", + "source_quality_dimensions": { + "primary_source": true, + "bibliographic_stability": "high" + }, + "methodology_quality": { + "not_applicable": true + }, + "study_design": null, + "sample": {}, + "population": null, + "date_range": {}, + "funding": null, + "sponsor": null, + "peer_review_status": null, + "findings": [], + "limitations": [ + "Candidate related source only; not accepted for statement extraction." + ], + "correction_ids": [], + "retraction_status": null, + "content_hash": null, + "accessed_at": "2026-08-15", + "verification_status": "machine_verified_human_pending", + "source_depth": "metadata_only", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://security.googleblog.com/2020/04/introducing-our-new-book-building.html", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official related-source page", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Official launch essay related to book-work-BATCH-2026-002-005." + } + ], + "revision_history": [] + }, + { + "source_id": "related-source-BATCH-2026-002-006", + "canonical_title": "Learn to build secure and reliable systems with a new book from Google", + "alternate_titles": [], + "source_type": "essay", + "series_or_parent_source": null, + "publisher": "Google Cloud Blog", + "channel": null, + "speaker_ids": [], + "author_ids": [], + "institutional_author": "Google Cloud Blog", + "organization_references": [], + "recorded_at": null, + "event_date": null, + "published_at": "2020-04-08", + "updated_at": null, + "duration_seconds": null, + "language": "lang-en", + "translated_title": null, + "translation_method": null, + "geography_of_speaker": [], + "geography_of_organization": [], + "geography_discussed": [ + "geo-global" + ], + "study_geography": [], + "original_url": "https://cloud.google.com/blog/products/management-tools/learn-to-build-secure-and-reliable-systems-with-a-new-book-from-google", + "canonical_url": "https://cloud.google.com/blog/products/management-tools/learn-to-build-secure-and-reliable-systems-with-a-new-book-from-google", + "archived_url": null, + "embed_url": null, + "doi": null, + "canonical_identity_status": "machine_verified_human_pending", + "repost_status": "original_or_official", + "original_source_id": null, + "rights_status": "link_and_paraphrase", + "ownership_status": "third_party", + "relationship_to_off": "none_identified", + "transcript_status": null, + "transcript_source": null, + "transcript_republication_permission": null, + "chapter_markers": [], + "analysis_basis": "official_description", + "topics": [ + "governed-agent-identities", + "book-related-source" + ], + "executive_roles": [ + "role-ciso", + "role-cio", + "role-cto" + ], + "original_abstract": null, + "inclusion_rationale": "Author launch essay related to book-work-BATCH-2026-002-005.", + "source_quality_dimensions": { + "primary_source": true, + "bibliographic_stability": "high" + }, + "methodology_quality": { + "not_applicable": true + }, + "study_design": null, + "sample": {}, + "population": null, + "date_range": {}, + "funding": null, + "sponsor": null, + "peer_review_status": null, + "findings": [], + "limitations": [ + "Candidate related source only; not accepted for statement extraction." + ], + "correction_ids": [], + "retraction_status": null, + "content_hash": null, + "accessed_at": "2026-08-15", + "verification_status": "machine_verified_human_pending", + "source_depth": "metadata_only", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://cloud.google.com/blog/products/management-tools/learn-to-build-secure-and-reliable-systems-with-a-new-book-from-google", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official related-source page", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Author launch essay related to book-work-BATCH-2026-002-005." + } + ], + "revision_history": [] + }, + { + "source_id": "related-source-BATCH-2026-002-007", + "canonical_title": "Identity in Modern Applications — Official Contents and Preview", + "alternate_titles": [], + "source_type": "other_approved", + "series_or_parent_source": null, + "publisher": "O’Reilly Media, Inc.", + "channel": null, + "speaker_ids": [], + "author_ids": [], + "institutional_author": "O’Reilly Media, Inc.", + "organization_references": [], + "recorded_at": null, + "event_date": null, + "published_at": null, + "updated_at": null, + "duration_seconds": null, + "language": "lang-en", + "translated_title": null, + "translation_method": null, + "geography_of_speaker": [], + "geography_of_organization": [], + "geography_discussed": [ + "geo-global" + ], + "study_geography": [], + "original_url": "https://www.oreilly.com/library/view/identity-in-modern/9781098107789/", + "canonical_url": "https://www.oreilly.com/library/view/identity-in-modern/9781098107789/", + "archived_url": null, + "embed_url": null, + "doi": null, + "canonical_identity_status": "machine_verified_human_pending", + "repost_status": "original_or_official", + "original_source_id": null, + "rights_status": "link_and_paraphrase", + "ownership_status": "third_party", + "relationship_to_off": "none_identified", + "transcript_status": null, + "transcript_source": null, + "transcript_republication_permission": null, + "chapter_markers": [], + "analysis_basis": "authorized_preview", + "topics": [ + "governed-agent-identities", + "book-related-source" + ], + "executive_roles": [ + "role-ciso", + "role-cio", + "role-cto" + ], + "original_abstract": null, + "inclusion_rationale": "Official preview related to book-work-BATCH-2026-002-006.", + "source_quality_dimensions": { + "primary_source": true, + "bibliographic_stability": "high" + }, + "methodology_quality": { + "not_applicable": true + }, + "study_design": null, + "sample": {}, + "population": null, + "date_range": {}, + "funding": null, + "sponsor": null, + "peer_review_status": null, + "findings": [], + "limitations": [ + "Candidate related source only; not accepted for statement extraction." + ], + "correction_ids": [], + "retraction_status": null, + "content_hash": null, + "accessed_at": "2026-08-15", + "verification_status": "machine_verified_human_pending", + "source_depth": "metadata_only", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/identity-in-modern/9781098107789/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official related-source page", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Official preview related to book-work-BATCH-2026-002-006." + } + ], + "revision_history": [] + }, + { + "source_id": "related-source-BATCH-2026-002-008", + "canonical_title": "Solving Identity Management in Modern Applications — Second Edition", + "alternate_titles": [], + "source_type": "other_approved", + "series_or_parent_source": null, + "publisher": "Springer Nature / Apress", + "channel": null, + "speaker_ids": [], + "author_ids": [], + "institutional_author": "Springer Nature / Apress", + "organization_references": [], + "recorded_at": null, + "event_date": null, + "published_at": "2022-11-17", + "updated_at": null, + "duration_seconds": null, + "language": "lang-en", + "translated_title": null, + "translation_method": null, + "geography_of_speaker": [], + "geography_of_organization": [], + "geography_discussed": [ + "geo-global" + ], + "study_geography": [], + "original_url": "https://link.springer.com/book/10.1007/978-1-4842-8261-8", + "canonical_url": "https://link.springer.com/book/10.1007/978-1-4842-8261-8", + "archived_url": null, + "embed_url": null, + "doi": null, + "canonical_identity_status": "machine_verified_human_pending", + "repost_status": "original_or_official", + "original_source_id": null, + "rights_status": "metadata_only", + "ownership_status": "third_party", + "relationship_to_off": "none_identified", + "transcript_status": null, + "transcript_source": null, + "transcript_republication_permission": null, + "chapter_markers": [], + "analysis_basis": "table_of_contents_only", + "topics": [ + "governed-agent-identities", + "book-related-source" + ], + "executive_roles": [ + "role-ciso", + "role-cio", + "role-cto" + ], + "original_abstract": null, + "inclusion_rationale": "Materially revised related work candidate; human work-identity decision required.", + "source_quality_dimensions": { + "primary_source": true, + "bibliographic_stability": "high" + }, + "methodology_quality": { + "not_applicable": true + }, + "study_design": null, + "sample": {}, + "population": null, + "date_range": {}, + "funding": null, + "sponsor": null, + "peer_review_status": null, + "findings": [], + "limitations": [ + "Candidate related source only; not accepted for statement extraction." + ], + "correction_ids": [], + "retraction_status": null, + "content_hash": null, + "accessed_at": "2026-08-15", + "verification_status": "machine_verified_human_pending", + "source_depth": "metadata_only", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://link.springer.com/book/10.1007/978-1-4842-8261-8", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official related-source page", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Materially revised related work candidate; human work-identity decision required." + } + ], + "revision_history": [] + }, + { + "source_id": "related-source-BATCH-2026-002-009", + "canonical_title": "Identity-Native Infrastructure Access Management — Preface", + "alternate_titles": [], + "source_type": "other_approved", + "series_or_parent_source": null, + "publisher": "O’Reilly Media, Inc.", + "channel": null, + "speaker_ids": [], + "author_ids": [], + "institutional_author": "O’Reilly Media, Inc.", + "organization_references": [], + "recorded_at": null, + "event_date": null, + "published_at": null, + "updated_at": null, + "duration_seconds": null, + "language": "lang-en", + "translated_title": null, + "translation_method": null, + "geography_of_speaker": [], + "geography_of_organization": [], + "geography_discussed": [ + "geo-global" + ], + "study_geography": [], + "original_url": "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/preface01.html", + "canonical_url": "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/preface01.html", + "archived_url": null, + "embed_url": null, + "doi": null, + "canonical_identity_status": "machine_verified_human_pending", + "repost_status": "original_or_official", + "original_source_id": null, + "rights_status": "link_and_paraphrase", + "ownership_status": "third_party", + "relationship_to_off": "none_identified", + "transcript_status": null, + "transcript_source": null, + "transcript_republication_permission": null, + "chapter_markers": [], + "analysis_basis": "authorized_preview", + "topics": [ + "governed-agent-identities", + "book-related-source" + ], + "executive_roles": [ + "role-ciso", + "role-cio", + "role-cto" + ], + "original_abstract": null, + "inclusion_rationale": "Official preface related to book-work-BATCH-2026-002-009.", + "source_quality_dimensions": { + "primary_source": true, + "bibliographic_stability": "high" + }, + "methodology_quality": { + "not_applicable": true + }, + "study_design": null, + "sample": {}, + "population": null, + "date_range": {}, + "funding": null, + "sponsor": null, + "peer_review_status": null, + "findings": [], + "limitations": [ + "Candidate related source only; not accepted for statement extraction." + ], + "correction_ids": [], + "retraction_status": null, + "content_hash": null, + "accessed_at": "2026-08-15", + "verification_status": "machine_verified_human_pending", + "source_depth": "metadata_only", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://www.oreilly.com/library/view/identity-native-infrastructure-access/9781098131883/preface01.html", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official related-source page", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Official preface related to book-work-BATCH-2026-002-009." + } + ], + "revision_history": [] + }, + { + "source_id": "related-source-BATCH-2026-002-010", + "canonical_title": "Building Secure and Reliable Systems — Official Complete HTML", + "alternate_titles": [], + "source_type": "other_approved", + "series_or_parent_source": null, + "publisher": "Google", + "channel": null, + "speaker_ids": [], + "author_ids": [], + "institutional_author": "Google", + "organization_references": [], + "recorded_at": null, + "event_date": null, + "published_at": null, + "updated_at": null, + "duration_seconds": null, + "language": "lang-en", + "translated_title": null, + "translation_method": null, + "geography_of_speaker": [], + "geography_of_organization": [], + "geography_discussed": [ + "geo-global" + ], + "study_geography": [], + "original_url": "https://google.github.io/building-secure-and-reliable-systems/", + "canonical_url": "https://google.github.io/building-secure-and-reliable-systems/", + "archived_url": null, + "embed_url": null, + "doi": null, + "canonical_identity_status": "machine_verified_human_pending", + "repost_status": "original_or_official", + "original_source_id": null, + "rights_status": "link_and_paraphrase", + "ownership_status": "third_party", + "relationship_to_off": "none_identified", + "transcript_status": null, + "transcript_source": null, + "transcript_republication_permission": null, + "chapter_markers": [], + "analysis_basis": "full_text_lawfully_accessed", + "topics": [ + "governed-agent-identities", + "book-related-source" + ], + "executive_roles": [ + "role-ciso", + "role-cio", + "role-cto" + ], + "original_abstract": null, + "inclusion_rationale": "Official complete text access point; reuse license not established.", + "source_quality_dimensions": { + "primary_source": true, + "bibliographic_stability": "high" + }, + "methodology_quality": { + "not_applicable": true + }, + "study_design": null, + "sample": {}, + "population": null, + "date_range": {}, + "funding": null, + "sponsor": null, + "peer_review_status": null, + "findings": [], + "limitations": [ + "Candidate related source only; not accepted for statement extraction." + ], + "correction_ids": [], + "retraction_status": null, + "content_hash": null, + "accessed_at": "2026-08-15", + "verification_status": "machine_verified_human_pending", + "source_depth": "metadata_only", + "publication_status": "staging_only", + "workflow_status": "candidate", + "machine_review_status": "ready_for_human_review", + "human_review_status": "pending", + "reviewed_by": null, + "reviewed_at": null, + "provenance": [ + { + "source_url": "https://google.github.io/building-secure-and-reliable-systems/", + "accessed_at": "2026-08-15", + "retrieval_method": "Official publisher, project, or author-hosted bibliographic page inspected through public web access", + "exact_locator": "Official related-source page", + "content_hash": null, + "batch_id": "BATCH-2026-002", + "prompt_id": "OEII-BOOK-METADATA", + "prompt_version": "2.0", + "notes": "Official complete text access point; reuse license not established." + } + ], + "revision_history": [] + } +] diff --git a/staging/batches/BATCH-2026-002/rights-review-cases.json b/staging/batches/BATCH-2026-002/rights-review-cases.json new file mode 100644 index 0000000..08216fd --- /dev/null +++ b/staging/batches/BATCH-2026-002/rights-review-cases.json @@ -0,0 +1,86 @@ +{ + "batch_id": "BATCH-2026-002", + "cases": [ + { + "case_id": "rights-001", + "book_work_id": "book-work-BATCH-2026-002-001", + "status": "clear_for_analysis_under_license", + "access_basis": "full_text_lawfully_accessed", + "license": "CC BY 4.0", + "publication_permission": "License permits reuse with attribution; repository quotation policy still applies.", + "human_review_status": "pending" + }, + { + "case_id": "rights-002", + "book_work_id": "book-work-BATCH-2026-002-005", + "status": "analysis_access_clear_republication_limited", + "access_basis": "full_text_lawfully_accessed", + "license": null, + "publication_permission": "Complete official text is publicly readable, but no open license was found; use metadata, links, original paraphrase, and brief necessary quotation only.", + "human_review_status": "pending" + }, + { + "case_id": "rights-003", + "book_work_id": "book-work-BATCH-2026-002-002", + "status": "metadata_and_limited_preview_only", + "access_basis": "authorized_preview", + "license": null, + "publication_permission": "Metadata and links only unless a later rights review records lawful full-text access and quotation basis.", + "human_review_status": "pending" + }, + { + "case_id": "rights-004", + "book_work_id": "book-work-BATCH-2026-002-003", + "status": "metadata_and_limited_preview_only", + "access_basis": "authorized_preview", + "license": null, + "publication_permission": "Metadata and links only unless a later rights review records lawful full-text access and quotation basis.", + "human_review_status": "pending" + }, + { + "case_id": "rights-005", + "book_work_id": "book-work-BATCH-2026-002-004", + "status": "metadata_and_limited_preview_only", + "access_basis": "authorized_preview", + "license": null, + "publication_permission": "Metadata and links only unless a later rights review records lawful full-text access and quotation basis.", + "human_review_status": "pending" + }, + { + "case_id": "rights-006", + "book_work_id": "book-work-BATCH-2026-002-006", + "status": "metadata_and_limited_preview_only", + "access_basis": "authorized_preview", + "license": null, + "publication_permission": "Metadata and links only unless a later rights review records lawful full-text access and quotation basis.", + "human_review_status": "pending" + }, + { + "case_id": "rights-007", + "book_work_id": "book-work-BATCH-2026-002-007", + "status": "metadata_and_limited_preview_only", + "access_basis": "table_of_contents_only", + "license": null, + "publication_permission": "Metadata and links only unless a later rights review records lawful full-text access and quotation basis.", + "human_review_status": "pending" + }, + { + "case_id": "rights-008", + "book_work_id": "book-work-BATCH-2026-002-008", + "status": "metadata_and_limited_preview_only", + "access_basis": "table_of_contents_only", + "license": null, + "publication_permission": "Metadata and links only unless a later rights review records lawful full-text access and quotation basis.", + "human_review_status": "pending" + }, + { + "case_id": "rights-009", + "book_work_id": "book-work-BATCH-2026-002-009", + "status": "metadata_and_limited_preview_only", + "access_basis": "authorized_preview", + "license": null, + "publication_permission": "Metadata and links only unless a later rights review records lawful full-text access and quotation basis.", + "human_review_status": "pending" + } + ] +} diff --git a/staging/batches/BATCH-2026-002/rights-review.md b/staging/batches/BATCH-2026-002/rights-review.md new file mode 100644 index 0000000..e2f83f9 --- /dev/null +++ b/staging/batches/BATCH-2026-002/rights-review.md @@ -0,0 +1,23 @@ +# Rights review — BATCH-2026-002 + +## Clear complete-access cases + +- *Solving the Bottom Turtle*: the official first-edition PDF states CC BY 4.0. The complete work is lawfully accessible and potentially reusable under that license with attribution. Repository quotation and locator rules still apply. +- *Building Secure and Reliable Systems*: Google provides the complete work on an official public site. Complete research access is lawful, but no open republication license was identified. Publication should use metadata, links, original paraphrase, and only brief necessary quotations with exact locators. + +These two works are marked `deep_analysis_ready` solely because exact edition identity and complete lawful access are documented. Their `analysis_depth` remains `catalogued`; neither was deeply analyzed in this batch. + +## Limited-access cases + +The remaining works were accessed through official metadata, tables of contents, or authorized previews. They are not marked reviewed or deeply analyzed. No complete text, chapter, transcript, or large excerpt was stored. + +## Review copies and permissions + +No review copy was provided. No author-provided private material was used. No separate quotation or republication permission was obtained. No work is treated as public domain. No affiliate links are present. + +## Open issues + +- Confirm whether Google’s official HTML has any applicable reuse license beyond public reading access. +- Record a lawful complete-access basis before any other book is scheduled for deep analysis. +- Resolve the Italian translator and controlled-language-vocabulary gap before creating a canonical translated-edition record. +- Retain edition-specific locators; do not transfer page numbers across print, online, eText, audiobook, or translated manifestations. diff --git a/staging/batches/BATCH-2026-002/validation-results.md b/staging/batches/BATCH-2026-002/validation-results.md new file mode 100644 index 0000000..1c6a513 --- /dev/null +++ b/staging/batches/BATCH-2026-002/validation-results.md @@ -0,0 +1,37 @@ +# Validation results — BATCH-2026-002 + +Completed 2026-08-15. All records remain staging-only and human-pending. + +## Passed + +- Work schema: nine records. +- Edition schema: fourteen records. +- Person schema: thirty author candidates. +- Source schema: ten related-source candidates. +- ISBN check digits and ISBN-10/ISBN-13 pairing for every recorded identifier. +- Duplicate ISBN detection: no identifier assigned to multiple editions. +- Duplicate title and author detection: one materially revised same-title case is explicitly queued rather than merged. +- Work-edition relationships: fourteen reciprocal, internally consistent links. +- Author identity: thirty unique people with reciprocal work links; none is public-profile eligible. +- Access-basis validation: every work uses exactly one allowed primary basis. +- Deep-analysis readiness: two works have exact editions and complete lawful access. +- Provenance, rights status, publication limits, and staging isolation. +- Analysis-depth validation: all works remain `catalogued`; no metadata-only book is called reviewed or deeply analyzed. +- Human-review validation: no record is marked approved. +- Repository-wide schema, attribution, statements, propositions, edition, locator, rights, review, publication, content, duplicate, concentration, and coverage checks. +- TypeScript and targeted ESLint. +- Twenty-four unit tests across four files. +- `git diff --check`. + +## Warnings retained as findings + +- Only eight accepted books existed in the parent discovery batch, below the approximate 15–25 template target. +- The verified Italian edition uses BCP 47 `it`, while `lang-it` is not yet in the canonical controlled vocabulary. +- Individual official profiles and current roles remain unresolved for thirty author candidates. + +## Unresolved conflicts + +- One work-level conflict: whether the expanded second edition of *Solving Identity Management in Modern Applications* is a new intellectual work or a materially revised manifestation of the 2019 work. +- One translated-edition identity gap: the Italian translator for *Zero Trust Networks* is unresolved. + +The warnings and conflicts remain visible because quality and edition identity take priority over completion quotas. diff --git a/staging/batches/BATCH-2026-002/work-edition-relationships.json b/staging/batches/BATCH-2026-002/work-edition-relationships.json new file mode 100644 index 0000000..3dd5dd4 --- /dev/null +++ b/staging/batches/BATCH-2026-002/work-edition-relationships.json @@ -0,0 +1,103 @@ +{ + "batch_id": "BATCH-2026-002", + "relationships": [ + { + "book_work_id": "book-work-BATCH-2026-002-001", + "book_edition_id": "book-edition-BATCH-2026-002-001", + "relationship": "manifestation_of", + "confidence": "machine_verified", + "human_review_status": "pending" + }, + { + "book_work_id": "book-work-BATCH-2026-002-002", + "book_edition_id": "book-edition-BATCH-2026-002-002", + "relationship": "manifestation_of", + "confidence": "machine_verified", + "human_review_status": "pending" + }, + { + "book_work_id": "book-work-BATCH-2026-002-002", + "book_edition_id": "book-edition-BATCH-2026-002-003", + "relationship": "manifestation_of", + "confidence": "machine_verified", + "human_review_status": "pending" + }, + { + "book_work_id": "book-work-BATCH-2026-002-002", + "book_edition_id": "book-edition-BATCH-2026-002-004", + "relationship": "manifestation_of", + "confidence": "pending_human", + "human_review_status": "pending" + }, + { + "book_work_id": "book-work-BATCH-2026-002-003", + "book_edition_id": "book-edition-BATCH-2026-002-005", + "relationship": "manifestation_of", + "confidence": "machine_verified", + "human_review_status": "pending" + }, + { + "book_work_id": "book-work-BATCH-2026-002-004", + "book_edition_id": "book-edition-BATCH-2026-002-006", + "relationship": "manifestation_of", + "confidence": "machine_verified", + "human_review_status": "pending" + }, + { + "book_work_id": "book-work-BATCH-2026-002-005", + "book_edition_id": "book-edition-BATCH-2026-002-007", + "relationship": "manifestation_of", + "confidence": "machine_verified", + "human_review_status": "pending" + }, + { + "book_work_id": "book-work-BATCH-2026-002-005", + "book_edition_id": "book-edition-BATCH-2026-002-008", + "relationship": "manifestation_of", + "confidence": "machine_verified", + "human_review_status": "pending" + }, + { + "book_work_id": "book-work-BATCH-2026-002-005", + "book_edition_id": "book-edition-BATCH-2026-002-009", + "relationship": "manifestation_of", + "confidence": "machine_verified", + "human_review_status": "pending" + }, + { + "book_work_id": "book-work-BATCH-2026-002-006", + "book_edition_id": "book-edition-BATCH-2026-002-010", + "relationship": "manifestation_of", + "confidence": "machine_verified", + "human_review_status": "pending" + }, + { + "book_work_id": "book-work-BATCH-2026-002-007", + "book_edition_id": "book-edition-BATCH-2026-002-011", + "relationship": "manifestation_of", + "confidence": "machine_verified", + "human_review_status": "pending" + }, + { + "book_work_id": "book-work-BATCH-2026-002-008", + "book_edition_id": "book-edition-BATCH-2026-002-012", + "relationship": "manifestation_of", + "confidence": "pending_human", + "human_review_status": "pending" + }, + { + "book_work_id": "book-work-BATCH-2026-002-008", + "book_edition_id": "book-edition-BATCH-2026-002-013", + "relationship": "manifestation_of", + "confidence": "pending_human", + "human_review_status": "pending" + }, + { + "book_work_id": "book-work-BATCH-2026-002-009", + "book_edition_id": "book-edition-BATCH-2026-002-014", + "relationship": "manifestation_of", + "confidence": "machine_verified", + "human_review_status": "pending" + } + ] +} From 107202ea6388997da43227bbc3fd7973f7cfb821 Mon Sep 17 00:00:00 2001 From: murraylovecode Date: Sat, 15 Aug 2026 04:26:42 -0700 Subject: [PATCH 2/2] Record book metadata draft pull request --- staging/batches/BATCH-2026-002/manifest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/staging/batches/BATCH-2026-002/manifest.yml b/staging/batches/BATCH-2026-002/manifest.yml index df97e8a..97b0886 100644 --- a/staging/batches/BATCH-2026-002/manifest.yml +++ b/staging/batches/BATCH-2026-002/manifest.yml @@ -4,7 +4,7 @@ topic: governed identities for AI agents prompt_id: OEII-BOOK-METADATA prompt_version: "2.0" branch: research/books-governed-agent-identities-BATCH-2026-002 -pull_request: null +pull_request: https://github.com/OpenFutureForum/executive-intelligence-index/pull/3 execution_started_at: 2026-08-15T11:02:00Z execution_completed_at: 2026-08-15T11:19:05Z agent_or_researcher: OpenAI Codex; machine-assisted bibliographic research; human review pending