psyclaw 0.27.22 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -5
- package/dist/apps/panel/index.html +2 -2
- package/dist/src/adapters/pi/extension.js +225 -92
- package/dist/src/adapters/pi/extension.js.map +1 -1
- package/dist/src/agents/import.js +44 -32
- package/dist/src/agents/import.js.map +1 -1
- package/dist/src/analysis/hooks.d.ts +1 -0
- package/dist/src/analysis/hooks.js +20 -1
- package/dist/src/analysis/hooks.js.map +1 -1
- package/dist/src/ars/bridge.d.ts +20 -0
- package/dist/src/ars/bridge.js +132 -0
- package/dist/src/ars/bridge.js.map +1 -0
- package/dist/src/ars/contracts.d.ts +55 -0
- package/dist/src/ars/contracts.js +2 -0
- package/dist/src/ars/contracts.js.map +1 -0
- package/dist/src/ars/panel-plan.d.ts +4 -0
- package/dist/src/ars/panel-plan.js +11 -0
- package/dist/src/ars/panel-plan.js.map +1 -0
- package/dist/src/ars/pi-panel-executor.d.ts +30 -0
- package/dist/src/ars/pi-panel-executor.js +140 -0
- package/dist/src/ars/pi-panel-executor.js.map +1 -0
- package/dist/src/ars/profile.d.ts +36 -0
- package/dist/src/ars/profile.js +119 -0
- package/dist/src/ars/profile.js.map +1 -0
- package/dist/src/ars/re-review.d.ts +22 -0
- package/dist/src/ars/re-review.js +172 -0
- package/dist/src/ars/re-review.js.map +1 -0
- package/dist/src/branding.d.ts +2 -4
- package/dist/src/branding.js +3 -5
- package/dist/src/branding.js.map +1 -1
- package/dist/src/bundled-tools.d.ts +3 -0
- package/dist/src/bundled-tools.js +21 -0
- package/dist/src/bundled-tools.js.map +1 -0
- package/dist/src/chat.js +6 -5
- package/dist/src/chat.js.map +1 -1
- package/dist/src/creation/contracts.d.ts +38 -0
- package/dist/src/creation/contracts.js +2 -0
- package/dist/src/creation/contracts.js.map +1 -0
- package/dist/src/creation/service.d.ts +7 -0
- package/dist/src/creation/service.js +196 -0
- package/dist/src/creation/service.js.map +1 -0
- package/dist/src/index.d.ts +10 -0
- package/dist/src/index.js +10 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/install/installer.js +32 -10
- package/dist/src/install/installer.js.map +1 -1
- package/dist/src/orchestration/personas.d.ts +15 -0
- package/dist/src/orchestration/personas.js +51 -0
- package/dist/src/orchestration/personas.js.map +1 -0
- package/dist/src/orchestration/pi-executor.d.ts +1 -0
- package/dist/src/orchestration/pi-executor.js +1 -1
- package/dist/src/orchestration/pi-executor.js.map +1 -1
- package/dist/src/panel/extension.js +29 -8
- package/dist/src/panel/extension.js.map +1 -1
- package/dist/src/panel/server.js +14 -5
- package/dist/src/panel/server.js.map +1 -1
- package/dist/src/project/paths.d.ts +3 -0
- package/dist/src/project/paths.js +7 -0
- package/dist/src/project/paths.js.map +1 -1
- package/dist/src/rules/user-rules.d.ts +8 -0
- package/dist/src/rules/user-rules.js +36 -0
- package/dist/src/rules/user-rules.js.map +1 -0
- package/dist/src/skills/contracts.d.ts +4 -4
- package/dist/src/skills/recommended.js +1 -1
- package/dist/src/skills/registry.js +49 -28
- package/dist/src/skills/registry.js.map +1 -1
- package/dist/src/style/cli-ui.js +0 -1
- package/dist/src/style/cli-ui.js.map +1 -1
- package/package.json +14 -3
- package/scripts/rebrand-pi.mjs +6 -0
- package/skills/recommended/catalog.json +2 -11
- package/vendor/ars/.claude/CLAUDE.md +371 -0
- package/vendor/ars/.command-invariants.toml +24 -0
- package/vendor/ars/CITATION.cff +35 -0
- package/vendor/ars/LICENSE +417 -0
- package/vendor/ars/MODE_REGISTRY.md +76 -0
- package/vendor/ars/NOTICE.md +26 -0
- package/vendor/ars/POSITIONING.md +99 -0
- package/vendor/ars/PSYCLAW_SOURCE.json +10 -0
- package/vendor/ars/README.md +751 -0
- package/vendor/ars/SECURITY.md +52 -0
- package/vendor/ars/THIRD_PARTY.md +70 -0
- package/vendor/ars/academic-paper/SKILL.md +542 -0
- package/vendor/ars/academic-paper/agents/abstract_bilingual_agent.md +171 -0
- package/vendor/ars/academic-paper/agents/argument_builder_agent.md +276 -0
- package/vendor/ars/academic-paper/agents/citation_compliance_agent.md +422 -0
- package/vendor/ars/academic-paper/agents/draft_writer_agent.md +656 -0
- package/vendor/ars/academic-paper/agents/formatter_agent.md +999 -0
- package/vendor/ars/academic-paper/agents/intake_agent.md +393 -0
- package/vendor/ars/academic-paper/agents/literature_strategist_agent.md +626 -0
- package/vendor/ars/academic-paper/agents/peer_reviewer_agent.md +516 -0
- package/vendor/ars/academic-paper/agents/revision_coach_agent.md +334 -0
- package/vendor/ars/academic-paper/agents/socratic_mentor_agent.md +527 -0
- package/vendor/ars/academic-paper/agents/structure_architect_agent.md +401 -0
- package/vendor/ars/academic-paper/agents/visualization_agent.md +441 -0
- package/vendor/ars/academic-paper/examples/chinese_paper_example.md +278 -0
- package/vendor/ars/academic-paper/examples/clinical_citation_verification_checklist.md +95 -0
- package/vendor/ars/academic-paper/examples/clinical_epistemic_status_example.md +100 -0
- package/vendor/ars/academic-paper/examples/commitment_ledger_example.md +147 -0
- package/vendor/ars/academic-paper/examples/imrad_hei_example.md +234 -0
- package/vendor/ars/academic-paper/examples/literature_review_example.md +260 -0
- package/vendor/ars/academic-paper/examples/plan_mode_guided_writing.md +600 -0
- package/vendor/ars/academic-paper/examples/revision_mode_example.md +344 -0
- package/vendor/ars/academic-paper/examples/revision_recovery_example.md +506 -0
- package/vendor/ars/academic-paper/examples/version_family_reconciliation_example.md +89 -0
- package/vendor/ars/academic-paper/references/abstract_writing_guide.md +169 -0
- package/vendor/ars/academic-paper/references/academic_writing_style.md +188 -0
- package/vendor/ars/academic-paper/references/anti_leakage_protocol.md +83 -0
- package/vendor/ars/academic-paper/references/apa7_chinese_citation_guide.md +364 -0
- package/vendor/ars/academic-paper/references/apa7_extended_guide.md +198 -0
- package/vendor/ars/academic-paper/references/changelog.md +11 -0
- package/vendor/ars/academic-paper/references/citation_format_switcher.md +228 -0
- package/vendor/ars/academic-paper/references/committee_correspondence_protocol.md +158 -0
- package/vendor/ars/academic-paper/references/credit_authorship_guide.md +308 -0
- package/vendor/ars/academic-paper/references/disclosure_mode_protocol.md +478 -0
- package/vendor/ars/academic-paper/references/domain_evidence_profiles.md +38 -0
- package/vendor/ars/academic-paper/references/failure_paths.md +349 -0
- package/vendor/ars/academic-paper/references/funding_statement_guide.md +319 -0
- package/vendor/ars/academic-paper/references/hei_domain_glossary.md +169 -0
- package/vendor/ars/academic-paper/references/intro_title_rhetoric_guide.md +114 -0
- package/vendor/ars/academic-paper/references/journal_submission_guide.md +249 -0
- package/vendor/ars/academic-paper/references/latex_template_reference.md +378 -0
- package/vendor/ars/academic-paper/references/mode_selection_guide.md +378 -0
- package/vendor/ars/academic-paper/references/paper_structure_patterns.md +330 -0
- package/vendor/ars/academic-paper/references/plan_mode_protocol.md +112 -0
- package/vendor/ars/academic-paper/references/policy_anchor_disclosure_protocol.md +200 -0
- package/vendor/ars/academic-paper/references/policy_anchor_table.md +157 -0
- package/vendor/ars/academic-paper/references/revision_patch_protocol.md +173 -0
- package/vendor/ars/academic-paper/references/statistical_visualization_standards.md +750 -0
- package/vendor/ars/academic-paper/references/venue_disclosure_policies.md +259 -0
- package/vendor/ars/academic-paper/references/vlm_figure_verification.md +126 -0
- package/vendor/ars/academic-paper/references/workflow_phase_details.md +135 -0
- package/vendor/ars/academic-paper/references/writing_judgment_framework.md +59 -0
- package/vendor/ars/academic-paper/references/writing_quality_check.md +173 -0
- package/vendor/ars/academic-paper/templates/bilingual_abstract_template.md +78 -0
- package/vendor/ars/academic-paper/templates/case_study_template.md +129 -0
- package/vendor/ars/academic-paper/templates/conference_paper_template.md +108 -0
- package/vendor/ars/academic-paper/templates/credit_statement_template.md +132 -0
- package/vendor/ars/academic-paper/templates/funding_statement_template.md +290 -0
- package/vendor/ars/academic-paper/templates/imrad_template.md +183 -0
- package/vendor/ars/academic-paper/templates/latex_article_template.tex +199 -0
- package/vendor/ars/academic-paper/templates/literature_review_template.md +135 -0
- package/vendor/ars/academic-paper/templates/policy_brief_template.md +139 -0
- package/vendor/ars/academic-paper/templates/revision_tracking_template.md +199 -0
- package/vendor/ars/academic-paper/templates/theoretical_paper_template.md +119 -0
- package/vendor/ars/academic-paper-reviewer/SKILL.md +491 -0
- package/vendor/ars/academic-paper-reviewer/agents/devils_advocate_reviewer_agent.md +443 -0
- package/vendor/ars/academic-paper-reviewer/agents/domain_reviewer_agent.md +412 -0
- package/vendor/ars/academic-paper-reviewer/agents/editorial_synthesizer_agent.md +478 -0
- package/vendor/ars/academic-paper-reviewer/agents/eic_agent.md +339 -0
- package/vendor/ars/academic-paper-reviewer/agents/field_analyst_agent.md +221 -0
- package/vendor/ars/academic-paper-reviewer/agents/methodology_reviewer_agent.md +449 -0
- package/vendor/ars/academic-paper-reviewer/agents/perspective_reviewer_agent.md +427 -0
- package/vendor/ars/academic-paper-reviewer/examples/hei_paper_review_example.md +391 -0
- package/vendor/ars/academic-paper-reviewer/examples/interdisciplinary_review_example.md +299 -0
- package/vendor/ars/academic-paper-reviewer/examples/subclaim_decomposition_example.md +80 -0
- package/vendor/ars/academic-paper-reviewer/references/calibration_mode_protocol.md +256 -0
- package/vendor/ars/academic-paper-reviewer/references/changelog.md +10 -0
- package/vendor/ars/academic-paper-reviewer/references/editorial_decision_standards.md +236 -0
- package/vendor/ars/academic-paper-reviewer/references/guided_mode_protocol.md +34 -0
- package/vendor/ars/academic-paper-reviewer/references/integration_guide.md +15 -0
- package/vendor/ars/academic-paper-reviewer/references/quality_rubrics.md +84 -0
- package/vendor/ars/academic-paper-reviewer/references/re_review_mode_protocol.md +340 -0
- package/vendor/ars/academic-paper-reviewer/references/review_criteria_framework.md +98 -0
- package/vendor/ars/academic-paper-reviewer/references/review_panel_provenance_protocol.md +197 -0
- package/vendor/ars/academic-paper-reviewer/references/review_quality_thinking.md +58 -0
- package/vendor/ars/academic-paper-reviewer/references/reviewer_sprint_prompt_source.md +324 -0
- package/vendor/ars/academic-paper-reviewer/references/sprint_contract_protocol.md +296 -0
- package/vendor/ars/academic-paper-reviewer/references/statistical_reporting_standards.md +505 -0
- package/vendor/ars/academic-paper-reviewer/references/top_journals_by_field.md +206 -0
- package/vendor/ars/academic-paper-reviewer/templates/editorial_decision_template.md +235 -0
- package/vendor/ars/academic-paper-reviewer/templates/peer_review_report_template.md +305 -0
- package/vendor/ars/academic-paper-reviewer/templates/revision_response_template.md +248 -0
- package/vendor/ars/academic-pipeline/SKILL.md +736 -0
- package/vendor/ars/academic-pipeline/agents/claim_ref_alignment_audit_agent.md +382 -0
- package/vendor/ars/academic-pipeline/agents/collaboration_depth_agent.md +164 -0
- package/vendor/ars/academic-pipeline/agents/integrity_verification_agent.md +870 -0
- package/vendor/ars/academic-pipeline/agents/pipeline_orchestrator_agent.md +1379 -0
- package/vendor/ars/academic-pipeline/agents/state_tracker_agent.md +622 -0
- package/vendor/ars/academic-pipeline/examples/full_pipeline_example.md +482 -0
- package/vendor/ars/academic-pipeline/examples/integrity_failure_recovery.md +389 -0
- package/vendor/ars/academic-pipeline/examples/mid_entry_example.md +414 -0
- package/vendor/ars/academic-pipeline/references/adapters/.gitkeep +0 -0
- package/vendor/ars/academic-pipeline/references/adapters/overview.md +153 -0
- package/vendor/ars/academic-pipeline/references/ai_research_failure_modes.md +185 -0
- package/vendor/ars/academic-pipeline/references/changelog.md +14 -0
- package/vendor/ars/academic-pipeline/references/claim_audit_calibration_protocol.md +175 -0
- package/vendor/ars/academic-pipeline/references/claim_verification_protocol.md +282 -0
- package/vendor/ars/academic-pipeline/references/external_review_protocol.md +131 -0
- package/vendor/ars/academic-pipeline/references/integrity_review_protocol.md +110 -0
- package/vendor/ars/academic-pipeline/references/literature_corpus_consumers.md +193 -0
- package/vendor/ars/academic-pipeline/references/mode_advisor.md +135 -0
- package/vendor/ars/academic-pipeline/references/passport_as_reset_boundary.md +132 -0
- package/vendor/ars/academic-pipeline/references/pipeline_state_machine.md +405 -0
- package/vendor/ars/academic-pipeline/references/plagiarism_detection_protocol.md +239 -0
- package/vendor/ars/academic-pipeline/references/process_summary_protocol.md +209 -0
- package/vendor/ars/academic-pipeline/references/progress_dashboard_template.md +38 -0
- package/vendor/ars/academic-pipeline/references/reinforcement_content.md +15 -0
- package/vendor/ars/academic-pipeline/references/reproducibility_audit.md +55 -0
- package/vendor/ars/academic-pipeline/references/score_trajectory_protocol.md +78 -0
- package/vendor/ars/academic-pipeline/references/team_collaboration_protocol.md +261 -0
- package/vendor/ars/academic-pipeline/references/two_stage_review_protocol.md +27 -0
- package/vendor/ars/academic-pipeline/templates/pipeline_status_template.md +146 -0
- package/vendor/ars/agents/report_compiler_agent.md +341 -0
- package/vendor/ars/agents/research_architect_agent.md +298 -0
- package/vendor/ars/agents/synthesis_agent.md +356 -0
- package/vendor/ars/commands/ars-3w.md +10 -0
- package/vendor/ars/commands/ars-abstract.md +10 -0
- package/vendor/ars/commands/ars-cache-invalidate.md +20 -0
- package/vendor/ars/commands/ars-citation-check.md +10 -0
- package/vendor/ars/commands/ars-disclosure.md +10 -0
- package/vendor/ars/commands/ars-format-convert.md +10 -0
- package/vendor/ars/commands/ars-full.md +9 -0
- package/vendor/ars/commands/ars-lit-review.md +12 -0
- package/vendor/ars/commands/ars-mark-read.md +18 -0
- package/vendor/ars/commands/ars-outline.md +10 -0
- package/vendor/ars/commands/ars-plan.md +10 -0
- package/vendor/ars/commands/ars-rebuttal-audit.md +12 -0
- package/vendor/ars/commands/ars-reviewer.md +9 -0
- package/vendor/ars/commands/ars-revision-coach.md +9 -0
- package/vendor/ars/commands/ars-revision.md +10 -0
- package/vendor/ars/commands/ars-unmark-read.md +16 -0
- package/vendor/ars/deep-research/SKILL.md +600 -0
- package/vendor/ars/deep-research/agents/bibliography_agent.md +473 -0
- package/vendor/ars/deep-research/agents/devils_advocate_agent.md +192 -0
- package/vendor/ars/deep-research/agents/editor_in_chief_agent.md +167 -0
- package/vendor/ars/deep-research/agents/ethics_review_agent.md +267 -0
- package/vendor/ars/deep-research/agents/meta_analysis_agent.md +325 -0
- package/vendor/ars/deep-research/agents/monitoring_agent.md +209 -0
- package/vendor/ars/deep-research/agents/report_compiler_agent.md +341 -0
- package/vendor/ars/deep-research/agents/research_architect_agent.md +298 -0
- package/vendor/ars/deep-research/agents/research_question_agent.md +216 -0
- package/vendor/ars/deep-research/agents/risk_of_bias_agent.md +231 -0
- package/vendor/ars/deep-research/agents/socratic_mentor_agent.md +764 -0
- package/vendor/ars/deep-research/agents/source_verification_agent.md +219 -0
- package/vendor/ars/deep-research/agents/synthesis_agent.md +356 -0
- package/vendor/ars/deep-research/agents/timeline_extraction_agent.md +99 -0
- package/vendor/ars/deep-research/examples/exploratory_research.md +157 -0
- package/vendor/ars/deep-research/examples/fact_check_mode.md +173 -0
- package/vendor/ars/deep-research/examples/handoff_to_paper.md +318 -0
- package/vendor/ars/deep-research/examples/idea_diversity_coverage_gap_advisory.md +64 -0
- package/vendor/ars/deep-research/examples/policy_analysis.md +161 -0
- package/vendor/ars/deep-research/examples/review_mode.md +253 -0
- package/vendor/ars/deep-research/examples/socratic_guided_research.md +331 -0
- package/vendor/ars/deep-research/examples/systematic_review.md +133 -0
- package/vendor/ars/deep-research/references/apa7_style_guide.md +162 -0
- package/vendor/ars/deep-research/references/argumentation_reasoning_framework.md +68 -0
- package/vendor/ars/deep-research/references/arxiv_api_protocol.md +76 -0
- package/vendor/ars/deep-research/references/changelog.md +22 -0
- package/vendor/ars/deep-research/references/chinese_literature_api_protocol.md +317 -0
- package/vendor/ars/deep-research/references/cross_agent_quality_definitions.md +14 -0
- package/vendor/ars/deep-research/references/crossref_api_protocol.md +84 -0
- package/vendor/ars/deep-research/references/equator_reporting_guidelines.md +482 -0
- package/vendor/ars/deep-research/references/ethics_checklist.md +282 -0
- package/vendor/ars/deep-research/references/failure_paths.md +355 -0
- package/vendor/ars/deep-research/references/interdisciplinary_bridges.md +292 -0
- package/vendor/ars/deep-research/references/irb_decision_tree.md +315 -0
- package/vendor/ars/deep-research/references/literature_monitoring_strategies.md +263 -0
- package/vendor/ars/deep-research/references/logical_fallacies.md +192 -0
- package/vendor/ars/deep-research/references/methodology_patterns.md +462 -0
- package/vendor/ars/deep-research/references/mode_selection_guide.md +331 -0
- package/vendor/ars/deep-research/references/openalex_api_protocol.md +82 -0
- package/vendor/ars/deep-research/references/preregistration_guide.md +324 -0
- package/vendor/ars/deep-research/references/semantic_scholar_api_protocol.md +107 -0
- package/vendor/ars/deep-research/references/socratic_mode_protocol.md +99 -0
- package/vendor/ars/deep-research/references/socratic_questioning_framework.md +232 -0
- package/vendor/ars/deep-research/references/source_quality_hierarchy.md +188 -0
- package/vendor/ars/deep-research/references/systematic_review_protocol.md +95 -0
- package/vendor/ars/deep-research/references/systematic_review_toolkit.md +353 -0
- package/vendor/ars/deep-research/templates/evidence_assessment_template.md +127 -0
- package/vendor/ars/deep-research/templates/literature_matrix_template.md +85 -0
- package/vendor/ars/deep-research/templates/preregistration_template.md +318 -0
- package/vendor/ars/deep-research/templates/prisma_protocol_template.md +248 -0
- package/vendor/ars/deep-research/templates/prisma_report_template.md +415 -0
- package/vendor/ars/deep-research/templates/research_brief_template.md +93 -0
- package/vendor/ars/package.json +24 -0
- package/vendor/ars/pi/README.md +161 -0
- package/vendor/ars/pi/package.json +26 -0
- package/vendor/ars/pi/wrapper.js +193 -0
- package/vendor/ars/pi/wrapper.test.mjs +201 -0
- package/vendor/ars/pyproject.toml +2 -0
- package/vendor/ars/requirements-pdf-content-classifier.txt +5 -0
- package/vendor/ars/scripts/_block_parser.py +396 -0
- package/vendor/ars/scripts/_ci_pytest_manifest.toml +661 -0
- package/vendor/ars/scripts/_claim_audit_constants.py +268 -0
- package/vendor/ars/scripts/_e4_evidence.py +110 -0
- package/vendor/ars/scripts/_eval_threshold_gate.py +73 -0
- package/vendor/ars/scripts/_markdown_lint_util.py +224 -0
- package/vendor/ars/scripts/_next_verified_at_ms.py +176 -0
- package/vendor/ars/scripts/_passport_yaml.py +53 -0
- package/vendor/ars/scripts/_skill_lint.py +254 -0
- package/vendor/ars/scripts/_text_similarity.py +141 -0
- package/vendor/ars/scripts/adapters/README.md +89 -0
- package/vendor/ars/scripts/adapters/_common.py +209 -0
- package/vendor/ars/scripts/adapters/examples/folder_scan/expected_passport.yaml +25 -0
- package/vendor/ars/scripts/adapters/examples/folder_scan/expected_rejection_log.yaml +18 -0
- package/vendor/ars/scripts/adapters/examples/folder_scan/input_fixture/Chen2024_AIAssessment.pdf +0 -0
- package/vendor/ars/scripts/adapters/examples/folder_scan/input_fixture/Wang_2023_formative_feedback.pdf +0 -0
- package/vendor/ars/scripts/adapters/examples/folder_scan/input_fixture/paper1.pdf +0 -0
- package/vendor/ars/scripts/adapters/examples/folder_scan/input_fixture//344/270/255/346/226/207/346/252/224/345/220/215_2024.pdf +0 -0
- package/vendor/ars/scripts/adapters/examples/obsidian/expected_passport.yaml +40 -0
- package/vendor/ars/scripts/adapters/examples/obsidian/expected_rejection_log.yaml +13 -0
- package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/.gitkeep +0 -0
- package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/.obsidian/app.json +1 -0
- package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/_templates/tmpl.md +7 -0
- package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/chen2024ai.md +13 -0
- package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/invalid.md +1 -0
- package/vendor/ars/scripts/adapters/examples/obsidian/input_fixture/vault/wang2023formative.md +10 -0
- package/vendor/ars/scripts/adapters/examples/zotero/expected_passport.yaml +34 -0
- package/vendor/ars/scripts/adapters/examples/zotero/expected_rejection_log.yaml +34 -0
- package/vendor/ars/scripts/adapters/examples/zotero/input_fixture/.gitkeep +0 -0
- package/vendor/ars/scripts/adapters/examples/zotero/input_fixture/export.json +43 -0
- package/vendor/ars/scripts/adapters/folder_scan.py +214 -0
- package/vendor/ars/scripts/adapters/obsidian.py +336 -0
- package/vendor/ars/scripts/adapters/tests/.gitkeep +0 -0
- package/vendor/ars/scripts/adapters/tests/conftest.py +77 -0
- package/vendor/ars/scripts/adapters/tests/test_check_corpus_consumer_protocol.py +632 -0
- package/vendor/ars/scripts/adapters/tests/test_check_literature_corpus_schema.py +631 -0
- package/vendor/ars/scripts/adapters/tests/test_common.py +365 -0
- package/vendor/ars/scripts/adapters/tests/test_conftest.py +96 -0
- package/vendor/ars/scripts/adapters/tests/test_folder_scan.py +260 -0
- package/vendor/ars/scripts/adapters/tests/test_literature_corpus_entry_schema.py +745 -0
- package/vendor/ars/scripts/adapters/tests/test_obsidian.py +357 -0
- package/vendor/ars/scripts/adapters/tests/test_rejection_log_schema.py +271 -0
- package/vendor/ars/scripts/adapters/tests/test_sync_adapter_docs.py +88 -0
- package/vendor/ars/scripts/adapters/tests/test_zotero.py +454 -0
- package/vendor/ars/scripts/adapters/zotero.py +318 -0
- package/vendor/ars/scripts/adjudication_activity.py +1592 -0
- package/vendor/ars/scripts/announce-ars-loaded.sh +144 -0
- package/vendor/ars/scripts/ars_anchorize_draft.py +170 -0
- package/vendor/ars/scripts/ars_apply_revision_patch.py +912 -0
- package/vendor/ars/scripts/ars_cache_invalidate.py +40 -0
- package/vendor/ars/scripts/ars_mark_read.py +521 -0
- package/vendor/ars/scripts/ars_phase_scope_manifest.json +33 -0
- package/vendor/ars/scripts/ars_update_check.sh +215 -0
- package/vendor/ars/scripts/ars_write_scope_guard.py +506 -0
- package/vendor/ars/scripts/arxiv_client.py +222 -0
- package/vendor/ars/scripts/audit_snapshot.py +572 -0
- package/vendor/ars/scripts/bibliographic_integrity_signals.py +800 -0
- package/vendor/ars/scripts/bootstrap_timeline_yaml.py +146 -0
- package/vendor/ars/scripts/build_claim_standing_candidate_ledger.py +1238 -0
- package/vendor/ars/scripts/build_claim_standing_query_plan.py +643 -0
- package/vendor/ars/scripts/build_content_coverage_advisory.py +1205 -0
- package/vendor/ars/scripts/build_cross_document_consistency_advisory.py +2332 -0
- package/vendor/ars/scripts/build_review_pathway_rule_trace.py +830 -0
- package/vendor/ars/scripts/build_submission_packet_manifest.py +2310 -0
- package/vendor/ars/scripts/check_215_field_norm.py +173 -0
- package/vendor/ars/scripts/check_216_surface_form.py +250 -0
- package/vendor/ars/scripts/check_268_nested_commitment_ledger.py +180 -0
- package/vendor/ars/scripts/check_390_revision_patch_discipline.py +296 -0
- package/vendor/ars/scripts/check_392_citation_verification_intake.py +126 -0
- package/vendor/ars/scripts/check_394_submission_policy.py +178 -0
- package/vendor/ars/scripts/check_439_format_profile.py +307 -0
- package/vendor/ars/scripts/check_619_disclosure_closeout.py +237 -0
- package/vendor/ars/scripts/check_630_codex_subscription_transport.py +456 -0
- package/vendor/ars/scripts/check_669_review_pathway_rule_trace.py +662 -0
- package/vendor/ars/scripts/check_670_revision_roadmap_integration.py +518 -0
- package/vendor/ars/scripts/check_673_adjudication_activity.py +684 -0
- package/vendor/ars/scripts/check_684_review_criteria_binding.py +557 -0
- package/vendor/ars/scripts/check_agents_mirror_sync.py +115 -0
- package/vendor/ars/scripts/check_audit_artifact_consistency.py +2313 -0
- package/vendor/ars/scripts/check_benchmark_report.py +79 -0
- package/vendor/ars/scripts/check_bibliographic_integrity_signals.py +831 -0
- package/vendor/ars/scripts/check_calibration_tiers.py +235 -0
- package/vendor/ars/scripts/check_changelog_covers_merges.py +289 -0
- package/vendor/ars/scripts/check_ci_pytest_manifest.py +204 -0
- package/vendor/ars/scripts/check_claim_audit_consistency.py +1664 -0
- package/vendor/ars/scripts/check_claim_standing_candidate_ledger_integration.py +500 -0
- package/vendor/ars/scripts/check_claim_standing_freshness.py +253 -0
- package/vendor/ars/scripts/check_claim_standing_transmissions.py +449 -0
- package/vendor/ars/scripts/check_collaboration_depth_rubric.py +180 -0
- package/vendor/ars/scripts/check_command_frontmatter_name.py +116 -0
- package/vendor/ars/scripts/check_committee_correspondence.py +333 -0
- package/vendor/ars/scripts/check_compliance_report.py +108 -0
- package/vendor/ars/scripts/check_content_coverage_advisory_integration.py +796 -0
- package/vendor/ars/scripts/check_control_availability.py +172 -0
- package/vendor/ars/scripts/check_corpus_consumer_protocol.py +404 -0
- package/vendor/ars/scripts/check_cross_document_consistency_advisory_integration.py +1191 -0
- package/vendor/ars/scripts/check_cross_model_handoff_contract.py +234 -0
- package/vendor/ars/scripts/check_cross_model_verification_sync.py +261 -0
- package/vendor/ars/scripts/check_data_access_level.py +131 -0
- package/vendor/ars/scripts/check_data_flows.py +252 -0
- package/vendor/ars/scripts/check_decision_contract.py +464 -0
- package/vendor/ars/scripts/check_degradation_registry.py +326 -0
- package/vendor/ars/scripts/check_distribution_surface_claims.py +226 -0
- package/vendor/ars/scripts/check_domain_evidence_profile.py +538 -0
- package/vendor/ars/scripts/check_e4_promotion.py +195 -0
- package/vendor/ars/scripts/check_evals_gold_set.py +279 -0
- package/vendor/ars/scripts/check_evidence_row_integration.py +396 -0
- package/vendor/ars/scripts/check_experiment_provenance.py +117 -0
- package/vendor/ars/scripts/check_field_norm_severity.py +144 -0
- package/vendor/ars/scripts/check_firm_rules_sync.py +375 -0
- package/vendor/ars/scripts/check_heldout_measurement_report.py +1179 -0
- package/vendor/ars/scripts/check_human_subjects_output_contract.py +139 -0
- package/vendor/ars/scripts/check_human_subjects_reference_migration.py +844 -0
- package/vendor/ars/scripts/check_indirect_prompt_injection_no_call.py +328 -0
- package/vendor/ars/scripts/check_instruction_data_boundary.py +236 -0
- package/vendor/ars/scripts/check_judge_prompt_version.py +125 -0
- package/vendor/ars/scripts/check_literature_corpus_schema.py +402 -0
- package/vendor/ars/scripts/check_model_tiering.py +223 -0
- package/vendor/ars/scripts/check_panel_synthesis.py +1331 -0
- package/vendor/ars/scripts/check_passport_reset_contract.py +214 -0
- package/vendor/ars/scripts/check_pattern_eval_manifest.py +422 -0
- package/vendor/ars/scripts/check_persuasion_invariance_fixtures.py +637 -0
- package/vendor/ars/scripts/check_phase_conformance.py +2180 -0
- package/vendor/ars/scripts/check_pipeline_boundary_semantics.py +600 -0
- package/vendor/ars/scripts/check_pipeline_integrity.py +340 -0
- package/vendor/ars/scripts/check_policy_anchor_protocol.py +159 -0
- package/vendor/ars/scripts/check_policy_anchor_table.py +286 -0
- package/vendor/ars/scripts/check_preprint_venues_consistency.py +123 -0
- package/vendor/ars/scripts/check_prisma_trAIce_freshness.py +84 -0
- package/vendor/ars/scripts/check_promotion_bakeoff_preregistration.py +1303 -0
- package/vendor/ars/scripts/check_ranking_lift.py +323 -0
- package/vendor/ars/scripts/check_re_review_synthesis.py +2719 -0
- package/vendor/ars/scripts/check_receipt_enum_sync.py +203 -0
- package/vendor/ars/scripts/check_repro_lock.py +85 -0
- package/vendor/ars/scripts/check_review_pathway_output.py +276 -0
- package/vendor/ars/scripts/check_reviewer_data_fences.py +224 -0
- package/vendor/ars/scripts/check_reviewer_finding_contract.py +783 -0
- package/vendor/ars/scripts/check_reviewer_role_label.py +447 -0
- package/vendor/ars/scripts/check_reviewer_scoring_honesty.py +292 -0
- package/vendor/ars/scripts/check_reviewer_sprint_prompt_sync.py +409 -0
- package/vendor/ars/scripts/check_revision_claim_drift_suite_v2.py +1622 -0
- package/vendor/ars/scripts/check_revision_token_conservation.py +263 -0
- package/vendor/ars/scripts/check_risk_register.py +280 -0
- package/vendor/ars/scripts/check_role_scoped_contract.py +702 -0
- package/vendor/ars/scripts/check_rq_framing_patterns.py +184 -0
- package/vendor/ars/scripts/check_rubric_weight_consistency.py +32 -0
- package/vendor/ars/scripts/check_seeded_defect_fixtures.py +425 -0
- package/vendor/ars/scripts/check_setup_cross_model_parity.py +139 -0
- package/vendor/ars/scripts/check_spec_consistency.py +1249 -0
- package/vendor/ars/scripts/check_sprint_contract.py +371 -0
- package/vendor/ars/scripts/check_stage_capability_matrix.py +784 -0
- package/vendor/ars/scripts/check_submission_packet_manifest_integration.py +358 -0
- package/vendor/ars/scripts/check_surface_form_parity.py +445 -0
- package/vendor/ars/scripts/check_task_type.py +22 -0
- package/vendor/ars/scripts/check_tools_allowlist.py +538 -0
- package/vendor/ars/scripts/check_tortured_phrase_screening_integration.py +1974 -0
- package/vendor/ars/scripts/check_v3_10_134_write_scope.py +286 -0
- package/vendor/ars/scripts/check_v3_10_policy.py +656 -0
- package/vendor/ars/scripts/check_v3_6_6_ab_manifest.py +364 -0
- package/vendor/ars/scripts/check_v3_6_7_pattern_protection.py +1366 -0
- package/vendor/ars/scripts/check_v3_6_8_audit_scope_block.py +464 -0
- package/vendor/ars/scripts/check_v3_6_8_cite_provenance_pipeline.py +231 -0
- package/vendor/ars/scripts/check_v3_6_8_frontmatter_trust_schema.py +248 -0
- package/vendor/ars/scripts/check_v3_6_8_mark_read_commands.py +79 -0
- package/vendor/ars/scripts/check_v3_6_8_pattern_protection.py +941 -0
- package/vendor/ars/scripts/check_v3_7_3_three_layer_citation.py +318 -0
- package/vendor/ars/scripts/check_v3_8_annotation_literal_sync.py +228 -0
- package/vendor/ars/scripts/check_v3_9_0_triangulation.py +366 -0
- package/vendor/ars/scripts/check_v3_9_2_phase_boundary.py +270 -0
- package/vendor/ars/scripts/check_v3_9_4_temporal_verification.py +139 -0
- package/vendor/ars/scripts/check_venue_disclosure_policies.py +63 -0
- package/vendor/ars/scripts/check_version_consistency.py +826 -0
- package/vendor/ars/scripts/check_workflow_classification.py +223 -0
- package/vendor/ars/scripts/chinese_literature_client.py +1938 -0
- package/vendor/ars/scripts/citation_verification_summary.py +85 -0
- package/vendor/ars/scripts/claim_audit_calibration.py +517 -0
- package/vendor/ars/scripts/claim_audit_finalizer.py +456 -0
- package/vendor/ars/scripts/claim_audit_pipeline.py +1594 -0
- package/vendor/ars/scripts/claim_registry_coverage.py +493 -0
- package/vendor/ars/scripts/claim_standing_discovery.py +784 -0
- package/vendor/ars/scripts/claim_standing_stance_runner.py +758 -0
- package/vendor/ars/scripts/claim_standing_stance_scorer.py +239 -0
- package/vendor/ars/scripts/claim_strength_drift_disposition.py +666 -0
- package/vendor/ars/scripts/contamination_signals.py +689 -0
- package/vendor/ars/scripts/corpus_consumer_manifest.json +19 -0
- package/vendor/ars/scripts/cross_model_codex_transport.py +1374 -0
- package/vendor/ars/scripts/cross_model_codex_verify.sh +6 -0
- package/vendor/ars/scripts/cross_model_handoff.py +359 -0
- package/vendor/ars/scripts/cross_model_smoke_test.sh +183 -0
- package/vendor/ars/scripts/cross_model_smoke_test_codex.sh +35 -0
- package/vendor/ars/scripts/cross_model_verification/gemini_is_grounded.jq +45 -0
- package/vendor/ars/scripts/cross_model_verification/gemini_sources.jq +45 -0
- package/vendor/ars/scripts/cross_model_verification/normalize_compat_verdict.py +57 -0
- package/vendor/ars/scripts/cross_model_verification/openai_has_completed_web_search.jq +15 -0
- package/vendor/ars/scripts/cross_model_verification/openai_sources.jq +17 -0
- package/vendor/ars/scripts/cross_model_verification/openai_text.jq +11 -0
- package/vendor/ars/scripts/crossref_client.py +225 -0
- package/vendor/ars/scripts/dispatch_e4_panel.py +2731 -0
- package/vendor/ars/scripts/evidence_rows.py +2043 -0
- package/vendor/ars/scripts/fixtures/adjudication_activity/author_stage3.json +32 -0
- package/vendor/ars/scripts/fixtures/adjudication_activity/author_stage3_input.json +27 -0
- package/vendor/ars/scripts/fixtures/adjudication_activity/author_stage3_prime.json +32 -0
- package/vendor/ars/scripts/fixtures/adjudication_activity/author_stage3_prime_input.json +27 -0
- package/vendor/ars/scripts/fixtures/adjudication_activity/compliance_override.json +50 -0
- package/vendor/ars/scripts/fixtures/adjudication_activity/compliance_override_action.json +14 -0
- package/vendor/ars/scripts/fixtures/adjudication_activity/compliance_pass.json +44 -0
- package/vendor/ars/scripts/fixtures/adjudication_activity/explicit_user_request_log.json +26 -0
- package/vendor/ars/scripts/fixtures/adjudication_activity/mandatory_checkpoint_log.json +116 -0
- package/vendor/ars/scripts/fixtures/audit_artifact_consistency/README.md +56 -0
- package/vendor/ars/scripts/fixtures/audit_artifact_consistency/negative/a1_pass_with_p1/2026-04-30T15-22-04Z-d8f3.audit_artifact_entry.json +24 -0
- package/vendor/ars/scripts/fixtures/audit_artifact_consistency/negative/a1_pass_with_p1/2026-04-30T15-22-04Z-d8f3.jsonl +4 -0
- package/vendor/ars/scripts/fixtures/audit_artifact_consistency/negative/a1_pass_with_p1/2026-04-30T15-22-04Z-d8f3.meta.json +43 -0
- package/vendor/ars/scripts/fixtures/audit_artifact_consistency/negative/a1_pass_with_p1/2026-04-30T15-22-04Z-d8f3.verdict.yaml +19 -0
- package/vendor/ars/scripts/fixtures/audit_artifact_consistency/negative/a7_orphan_completion/2026-04-30T15-22-04Z-d8f3.jsonl +3 -0
- package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/persisted_minor/2026-04-30T15-22-04Z-d8f3.audit_artifact_entry.json +26 -0
- package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/persisted_minor/2026-04-30T15-22-04Z-d8f3.jsonl +4 -0
- package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/persisted_minor/2026-04-30T15-22-04Z-d8f3.meta.json +43 -0
- package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/persisted_minor/2026-04-30T15-22-04Z-d8f3.verdict.yaml +19 -0
- package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/proposal_pass/2026-04-30T15-22-04Z-d8f3.audit_artifact_entry.json +24 -0
- package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/proposal_pass/2026-04-30T15-22-04Z-d8f3.jsonl +4 -0
- package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/proposal_pass/2026-04-30T15-22-04Z-d8f3.meta.json +43 -0
- package/vendor/ars/scripts/fixtures/audit_artifact_consistency/positive/proposal_pass/2026-04-30T15-22-04Z-d8f3.verdict.yaml +12 -0
- package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/retraction.json +46 -0
- package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/retraction_check_attestation.json +44 -0
- package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/tortured_phrase.json +44 -0
- package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/tortured_phrase_v1_2_abstract_missing.json +107 -0
- package/vendor/ars/scripts/fixtures/bibliographic_integrity_signals/tortured_phrase_v1_2_detected.json +124 -0
- package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/expected_outcomes.json +77 -0
- package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/manifest.yaml +37 -0
- package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/tuples/001-valid-doi-test.json +20 -0
- package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/tuples/002-valid-arxiv-test.json +19 -0
- package/vendor/ars/scripts/fixtures/check_evals_gold_set/clean/tuples/003-fabricated-test.json +20 -0
- package/vendor/ars/scripts/fixtures/claim_audit_calibration/gold_set.json +344 -0
- package/vendor/ars/scripts/fixtures/claim_standing_candidate_ledger/query_plan.json +108 -0
- package/vendor/ars/scripts/fixtures/claim_standing_candidate_ledger/retrieval_input.json +179 -0
- package/vendor/ars/scripts/fixtures/committee_correspondence/16fd83f6aec7/concern_tracker.json +129 -0
- package/vendor/ars/scripts/fixtures/committee_correspondence/16fd83f6aec7/response_skeleton.md +19 -0
- package/vendor/ars/scripts/fixtures/committee_correspondence/16fd83f6aec7/source_letter.txt +9 -0
- package/vendor/ars/scripts/fixtures/content_coverage_advisory/base_draft.json +48 -0
- package/vendor/ars/scripts/fixtures/content_coverage_advisory/base_inventory.json +38 -0
- package/vendor/ars/scripts/fixtures/content_coverage_advisory/packet/consent.txt +1 -0
- package/vendor/ars/scripts/fixtures/content_coverage_advisory/session_sources.json +3 -0
- package/vendor/ars/scripts/fixtures/cross_document_consistency/README.md +6 -0
- package/vendor/ars/scripts/fixtures/cross_document_consistency/accepted_draft.md +35 -0
- package/vendor/ars/scripts/fixtures/cross_document_consistency/cases.json +75 -0
- package/vendor/ars/scripts/fixtures/cross_document_consistency/preregistration.md +5 -0
- package/vendor/ars/scripts/fixtures/cross_model_codex_transport/forbidden_event.jsonl +4 -0
- package/vendor/ars/scripts/fixtures/cross_model_codex_transport/grounded_verified.jsonl +3 -0
- package/vendor/ars/scripts/fixtures/cross_model_codex_transport/malformed.jsonl +3 -0
- package/vendor/ars/scripts/fixtures/cross_model_codex_transport/missing_search.jsonl +2 -0
- package/vendor/ars/scripts/fixtures/cross_model_codex_transport/multiple_finals.jsonl +4 -0
- package/vendor/ars/scripts/fixtures/cross_model_codex_transport/not_found.jsonl +3 -0
- package/vendor/ars/scripts/fixtures/cross_model_codex_transport/unbound_source.jsonl +3 -0
- package/vendor/ars/scripts/fixtures/cross_model_codex_transport/wrong_search_shape.jsonl +3 -0
- package/vendor/ars/scripts/fixtures/evidence_rows/phase_e_inputs.json +114 -0
- package/vendor/ars/scripts/fixtures/evidence_rows/session_sources.json +5 -0
- package/vendor/ars/scripts/fixtures/human_subjects_authority/cross-border-us-tw-gdpr.json +71 -0
- package/vendor/ars/scripts/fixtures/human_subjects_authority/gdpr-member-state-unresolved.json +62 -0
- package/vendor/ars/scripts/fixtures/human_subjects_authority/missing-data-axis.json +45 -0
- package/vendor/ars/scripts/fixtures/human_subjects_authority/no-profile.json +33 -0
- package/vendor/ars/scripts/fixtures/human_subjects_authority/tw-gdpr-two-axis.json +74 -0
- package/vendor/ars/scripts/fixtures/human_subjects_authority/us-gdpr-two-axis.json +74 -0
- package/vendor/ars/scripts/fixtures/review_pathway_rule_trace/lint-near-misses.json +72 -0
- package/vendor/ars/scripts/fixtures/review_pathway_rule_trace/no-profile-request.json +18 -0
- package/vendor/ars/scripts/fixtures/review_pathway_rule_trace/tw-candidates-request.json +63 -0
- package/vendor/ars/scripts/fixtures/review_pathway_rule_trace/us-candidates-request.json +77 -0
- package/vendor/ars/scripts/fixtures/review_target_context/exact-declaration.json +24 -0
- package/vendor/ars/scripts/fixtures/review_target_context/field-general-declaration.json +24 -0
- package/vendor/ars/scripts/fixtures/review_target_context/msr-2027-technical-full-declaration.json +24 -0
- package/vendor/ars/scripts/fixtures/review_target_context/synthetic-registry.json +92 -0
- package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/README.md +21 -0
- package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/subject_context_attested_only.json +55 -0
- package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/subject_context_machine_supported.json +49 -0
- package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/subject_context_not_isolated.json +56 -0
- package/vendor/ars/scripts/fixtures/revision_claim_drift_v2/subject_context_unknown.json +49 -0
- package/vendor/ars/scripts/fixtures/submission_package/clean/paper.md +16 -0
- package/vendor/ars/scripts/fixtures/submission_package/clean/references.bib +13 -0
- package/vendor/ars/scripts/fixtures/submission_package/fallback_authoryear/paper.md +11 -0
- package/vendor/ars/scripts/fixtures/submission_package/fallback_authoryear/references.bib +13 -0
- package/vendor/ars/scripts/fixtures/submission_package/fallback_latex/paper.tex +9 -0
- package/vendor/ars/scripts/fixtures/submission_package/fallback_latex/references.bib +13 -0
- package/vendor/ars/scripts/fixtures/submission_package/marker_no_join/paper.md +7 -0
- package/vendor/ars/scripts/fixtures/submission_package/orphan_intext/paper.md +8 -0
- package/vendor/ars/scripts/fixtures/submission_package/orphan_intext/references.bib +6 -0
- package/vendor/ars/scripts/fixtures/submission_package/passports/corpus_only.yaml +9 -0
- package/vendor/ars/scripts/fixtures/submission_package/passports/summary_join.yaml +16 -0
- package/vendor/ars/scripts/fixtures/submission_package/profiles/full.yaml +15 -0
- package/vendor/ars/scripts/fixtures/submission_package/profiles/tight.yaml +15 -0
- package/vendor/ars/scripts/fixtures/submission_package/summary_join/paper.md +7 -0
- package/vendor/ars/scripts/fixtures/submission_package/uncited_reference/paper.md +9 -0
- package/vendor/ars/scripts/fixtures/submission_package/uncited_reference/references.bib +13 -0
- package/vendor/ars/scripts/fixtures/submission_package/venue_clean/paper.md +26 -0
- package/vendor/ars/scripts/fixtures/submission_package/venue_clean/references.bib +13 -0
- package/vendor/ars/scripts/fixtures/submission_package/venue_violations/paper.md +20 -0
- package/vendor/ars/scripts/fixtures/submission_package/venue_violations/references.bib +13 -0
- package/vendor/ars/scripts/fixtures/submission_packet_manifest/base_inventory.json +101 -0
- package/vendor/ars/scripts/fixtures/submission_packet_manifest/packet/consent-materials.txt +3 -0
- package/vendor/ars/scripts/fixtures/submission_packet_manifest/packet/training-certificate.txt +2 -0
- package/vendor/ars/scripts/fixtures/submission_packet_manifest/packet/tw-consent-materials.txt +3 -0
- package/vendor/ars/scripts/fixtures/tortured_phrase_screening/corpus_input.yaml +30 -0
- package/vendor/ars/scripts/fixtures/tortured_phrase_screening/own_draft.md +36 -0
- package/vendor/ars/scripts/fixtures/tortured_phrase_screening/own_draft.tex +21 -0
- package/vendor/ars/scripts/fixtures/tortured_phrase_screening/seed_expectations.json +218 -0
- package/vendor/ars/scripts/fixtures/tortured_phrase_screening/snapshot.json +164 -0
- package/vendor/ars/scripts/fixtures/tortured_phrase_screening/snapshot_manifest.json +29 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/README.md +55 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/arxiv/empty_feed.xml +10 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/arxiv/error_5xx.html +7 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/arxiv/id_hit.xml +26 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/README.md +69 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/cnki_landing_page.html +13 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/error_5xx.html +2 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coordinate_ambiguous.json +16 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coordinate_hit.json +16 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coordinate_zero.json +14 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coverage_hit.json +15 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esearch_coverage_zero.json +13 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_hit.json +43 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_issn_mismatch.json +31 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_no_doi.json +31 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_unknown_ra.json +34 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/esummary_year_mismatch.json +31 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/handle_absent.json +4 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/handle_exists.json +16 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/handle_internal_error.json +4 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/istic_csl_hit.json +25 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/istic_csl_other_title.json +18 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/ra_cnki.json +6 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/ra_crossref.json +6 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/ra_istic.json +6 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/chinese_literature/ra_unknown_prefix.json +6 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/crossref/doi_hit.json +24 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/crossref/error_5xx.html +7 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/crossref/title_search_miss.json +15 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/openalex/doi_hit.json +29 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/openalex/error_5xx.json +4 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/openalex/title_search_miss.json +11 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/semantic_scholar/doi_hit.json +14 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/semantic_scholar/error_5xx.json +3 -0
- package/vendor/ars/scripts/fixtures/transport_bodies/semantic_scholar/title_search_miss.json +5 -0
- package/vendor/ars/scripts/human_read_attestation_resolver.py +467 -0
- package/vendor/ars/scripts/ideation_diversity_assignment_gate.py +430 -0
- package/vendor/ars/scripts/inquiry_branch_ledger.py +2540 -0
- package/vendor/ars/scripts/legacy/ars_apply_revision_patch_v1_0.py +715 -0
- package/vendor/ars/scripts/legacy/check_re_review_synthesis_v1_0.py +2215 -0
- package/vendor/ars/scripts/migrate_literature_corpus_to_v3_10.py +223 -0
- package/vendor/ars/scripts/migrate_literature_corpus_to_v3_7_3.py +277 -0
- package/vendor/ars/scripts/migrate_literature_corpus_to_v3_9_0.py +304 -0
- package/vendor/ars/scripts/model_tiering_manifest.json +46 -0
- package/vendor/ars/scripts/openalex_client.py +232 -0
- package/vendor/ars/scripts/parse_audit_verdict.py +802 -0
- package/vendor/ars/scripts/pdf_content_classifier_worker.py +176 -0
- package/vendor/ars/scripts/pdf_read_preflight.py +1455 -0
- package/vendor/ars/scripts/policy_anchor_disclosure_referee.py +354 -0
- package/vendor/ars/scripts/recompute_receipts.py +1414 -0
- package/vendor/ars/scripts/render_claim_standing_view.py +374 -0
- package/vendor/ars/scripts/render_eval_comment.py +130 -0
- package/vendor/ars/scripts/render_harness_retirement_issue.py +167 -0
- package/vendor/ars/scripts/repro_lock_validation.py +90 -0
- package/vendor/ars/scripts/research_workflow_profile.py +1079 -0
- package/vendor/ars/scripts/resolve_human_subjects_authority.py +1158 -0
- package/vendor/ars/scripts/resolve_review_target_context.py +683 -0
- package/vendor/ars/scripts/resume_e4_record.py +509 -0
- package/vendor/ars/scripts/retraction_status.py +484 -0
- package/vendor/ars/scripts/review_criteria_binding.py +889 -0
- package/vendor/ars/scripts/review_panel_provenance.py +744 -0
- package/vendor/ars/scripts/revision_roadmap.py +1967 -0
- package/vendor/ars/scripts/run_ci_pytest_manifest.py +116 -0
- package/vendor/ars/scripts/run_codex_audit.sh +1191 -0
- package/vendor/ars/scripts/run_evals.py +513 -0
- package/vendor/ars/scripts/run_ideation_diversity_no_call.py +3505 -0
- package/vendor/ars/scripts/run_indirect_prompt_injection_no_call.py +3330 -0
- package/vendor/ars/scripts/run_indirect_prompt_injection_probe.py +399 -0
- package/vendor/ars/scripts/run_review_criteria_constructive_value.py +1895 -0
- package/vendor/ars/scripts/run_role_topology_utility_dry_run.py +606 -0
- package/vendor/ars/scripts/score_review_criteria_constructive_value.py +617 -0
- package/vendor/ars/scripts/semantic_scholar_client.py +291 -0
- package/vendor/ars/scripts/slr_lineage.py +59 -0
- package/vendor/ars/scripts/sync_adapter_docs.py +118 -0
- package/vendor/ars/scripts/temporal_integrity_audit.py +840 -0
- package/vendor/ars/scripts/test_431_exact_or_bust.py +253 -0
- package/vendor/ars/scripts/test__eval_threshold_gate.py +125 -0
- package/vendor/ars/scripts/test__markdown_lint_util.py +129 -0
- package/vendor/ars/scripts/test__next_verified_at_ms.py +256 -0
- package/vendor/ars/scripts/test_adjacent_framing_probe_lint.py +171 -0
- package/vendor/ars/scripts/test_adjudication_activity.py +1515 -0
- package/vendor/ars/scripts/test_ars_anchorize_draft.py +178 -0
- package/vendor/ars/scripts/test_ars_apply_revision_patch.py +1335 -0
- package/vendor/ars/scripts/test_ars_cache_invalidate.py +51 -0
- package/vendor/ars/scripts/test_ars_mark_read.py +910 -0
- package/vendor/ars/scripts/test_ars_update_check.py +816 -0
- package/vendor/ars/scripts/test_ars_write_scope_guard.py +790 -0
- package/vendor/ars/scripts/test_arxiv_client.py +374 -0
- package/vendor/ars/scripts/test_audit_schemas.py +560 -0
- package/vendor/ars/scripts/test_audit_snapshot_render_section_0.py +105 -0
- package/vendor/ars/scripts/test_block_parser.py +259 -0
- package/vendor/ars/scripts/test_bootstrap_timeline_yaml.py +148 -0
- package/vendor/ars/scripts/test_build_claim_standing_candidate_ledger.py +1203 -0
- package/vendor/ars/scripts/test_build_claim_standing_query_plan.py +791 -0
- package/vendor/ars/scripts/test_build_submission_packet_manifest.py +2644 -0
- package/vendor/ars/scripts/test_check_215_field_norm.py +238 -0
- package/vendor/ars/scripts/test_check_216_surface_form.py +341 -0
- package/vendor/ars/scripts/test_check_268_nested_commitment_ledger.py +194 -0
- package/vendor/ars/scripts/test_check_390_revision_patch_discipline.py +279 -0
- package/vendor/ars/scripts/test_check_392_citation_verification_intake.py +144 -0
- package/vendor/ars/scripts/test_check_394_submission_policy.py +200 -0
- package/vendor/ars/scripts/test_check_439_format_profile.py +252 -0
- package/vendor/ars/scripts/test_check_619_disclosure_closeout.py +158 -0
- package/vendor/ars/scripts/test_check_630_codex_subscription_transport.py +245 -0
- package/vendor/ars/scripts/test_check_669_review_pathway_rule_trace.py +304 -0
- package/vendor/ars/scripts/test_check_670_revision_roadmap_integration.py +260 -0
- package/vendor/ars/scripts/test_check_673_adjudication_activity.py +367 -0
- package/vendor/ars/scripts/test_check_684_review_criteria_binding.py +274 -0
- package/vendor/ars/scripts/test_check_agents_mirror_sync.py +137 -0
- package/vendor/ars/scripts/test_check_audit_artifact_consistency.py +2133 -0
- package/vendor/ars/scripts/test_check_benchmark_report.py +117 -0
- package/vendor/ars/scripts/test_check_bibliographic_integrity_signals.py +609 -0
- package/vendor/ars/scripts/test_check_calibration_tiers.py +376 -0
- package/vendor/ars/scripts/test_check_changelog_covers_merges.py +509 -0
- package/vendor/ars/scripts/test_check_ci_pytest_manifest.py +425 -0
- package/vendor/ars/scripts/test_check_claim_standing_candidate_ledger_integration.py +256 -0
- package/vendor/ars/scripts/test_check_claim_standing_freshness.py +277 -0
- package/vendor/ars/scripts/test_check_collaboration_depth_rubric.py +239 -0
- package/vendor/ars/scripts/test_check_command_frontmatter_name.py +178 -0
- package/vendor/ars/scripts/test_check_committee_correspondence.py +298 -0
- package/vendor/ars/scripts/test_check_compliance_report.py +381 -0
- package/vendor/ars/scripts/test_check_content_coverage_advisory_integration.py +308 -0
- package/vendor/ars/scripts/test_check_control_availability.py +361 -0
- package/vendor/ars/scripts/test_check_cross_document_consistency_advisory_integration.py +698 -0
- package/vendor/ars/scripts/test_check_cross_model_handoff_contract.py +301 -0
- package/vendor/ars/scripts/test_check_cross_model_verification_sync.py +203 -0
- package/vendor/ars/scripts/test_check_data_access_level.py +227 -0
- package/vendor/ars/scripts/test_check_data_flows.py +382 -0
- package/vendor/ars/scripts/test_check_decision_contract.py +387 -0
- package/vendor/ars/scripts/test_check_degradation_registry.py +270 -0
- package/vendor/ars/scripts/test_check_distribution_surface_claims.py +225 -0
- package/vendor/ars/scripts/test_check_domain_evidence_profile.py +439 -0
- package/vendor/ars/scripts/test_check_e4_promotion.py +163 -0
- package/vendor/ars/scripts/test_check_evals_gold_set.py +312 -0
- package/vendor/ars/scripts/test_check_evidence_row_integration.py +187 -0
- package/vendor/ars/scripts/test_check_field_norm_severity.py +173 -0
- package/vendor/ars/scripts/test_check_firm_rules_sync.py +342 -0
- package/vendor/ars/scripts/test_check_heldout_measurement_report.py +1508 -0
- package/vendor/ars/scripts/test_check_human_subjects_output_contract.py +129 -0
- package/vendor/ars/scripts/test_check_human_subjects_reference_migration.py +756 -0
- package/vendor/ars/scripts/test_check_instruction_data_boundary.py +204 -0
- package/vendor/ars/scripts/test_check_judge_prompt_version.py +90 -0
- package/vendor/ars/scripts/test_check_model_tiering.py +236 -0
- package/vendor/ars/scripts/test_check_panel_synthesis.py +1658 -0
- package/vendor/ars/scripts/test_check_passport_reset_contract.py +249 -0
- package/vendor/ars/scripts/test_check_pattern_eval_manifest.py +381 -0
- package/vendor/ars/scripts/test_check_persuasion_invariance_fixtures.py +591 -0
- package/vendor/ars/scripts/test_check_phase_conformance.py +4366 -0
- package/vendor/ars/scripts/test_check_pipeline_boundary_semantics.py +931 -0
- package/vendor/ars/scripts/test_check_pipeline_integrity.py +243 -0
- package/vendor/ars/scripts/test_check_policy_anchor_protocol.py +236 -0
- package/vendor/ars/scripts/test_check_policy_anchor_table.py +295 -0
- package/vendor/ars/scripts/test_check_prisma_trAIce_freshness.py +68 -0
- package/vendor/ars/scripts/test_check_promotion_bakeoff_preregistration.py +799 -0
- package/vendor/ars/scripts/test_check_ranking_lift.py +377 -0
- package/vendor/ars/scripts/test_check_re_review_synthesis.py +3398 -0
- package/vendor/ars/scripts/test_check_receipt_enum_sync.py +176 -0
- package/vendor/ars/scripts/test_check_repro_lock.py +107 -0
- package/vendor/ars/scripts/test_check_reviewer_data_fences.py +334 -0
- package/vendor/ars/scripts/test_check_reviewer_finding_contract.py +1107 -0
- package/vendor/ars/scripts/test_check_reviewer_role_label.py +491 -0
- package/vendor/ars/scripts/test_check_reviewer_scoring_honesty.py +222 -0
- package/vendor/ars/scripts/test_check_reviewer_sprint_prompt_sync.py +373 -0
- package/vendor/ars/scripts/test_check_revision_claim_drift_suite_v2.py +1925 -0
- package/vendor/ars/scripts/test_check_revision_token_conservation.py +398 -0
- package/vendor/ars/scripts/test_check_risk_register.py +336 -0
- package/vendor/ars/scripts/test_check_role_scoped_contract.py +1104 -0
- package/vendor/ars/scripts/test_check_rq_framing_patterns.py +110 -0
- package/vendor/ars/scripts/test_check_rubric_weight_consistency.py +32 -0
- package/vendor/ars/scripts/test_check_seeded_defect_fixtures.py +392 -0
- package/vendor/ars/scripts/test_check_setup_cross_model_parity.py +121 -0
- package/vendor/ars/scripts/test_check_spec_consistency.py +1081 -0
- package/vendor/ars/scripts/test_check_sprint_contract.py +458 -0
- package/vendor/ars/scripts/test_check_stage_capability_matrix.py +698 -0
- package/vendor/ars/scripts/test_check_submission_packet_manifest_integration.py +177 -0
- package/vendor/ars/scripts/test_check_surface_form_parity.py +417 -0
- package/vendor/ars/scripts/test_check_task_type.py +116 -0
- package/vendor/ars/scripts/test_check_tools_allowlist.py +835 -0
- package/vendor/ars/scripts/test_check_tortured_phrase_screening_integration.py +1306 -0
- package/vendor/ars/scripts/test_check_v3_10_134_write_scope.py +251 -0
- package/vendor/ars/scripts/test_check_v3_10_policy.py +547 -0
- package/vendor/ars/scripts/test_check_v3_6_7_pattern_protection.py +960 -0
- package/vendor/ars/scripts/test_check_v3_6_8_audit_scope_block.py +1000 -0
- package/vendor/ars/scripts/test_check_v3_6_8_cite_provenance_pipeline.py +454 -0
- package/vendor/ars/scripts/test_check_v3_6_8_frontmatter_trust_schema.py +581 -0
- package/vendor/ars/scripts/test_check_v3_6_8_mark_read_commands.py +120 -0
- package/vendor/ars/scripts/test_check_v3_6_8_pattern_protection.py +1138 -0
- package/vendor/ars/scripts/test_check_v3_7_3_three_layer_citation.py +566 -0
- package/vendor/ars/scripts/test_check_v3_8_annotation_literal_sync.py +262 -0
- package/vendor/ars/scripts/test_check_v3_9_0_triangulation.py +321 -0
- package/vendor/ars/scripts/test_check_v3_9_2_phase_boundary.py +190 -0
- package/vendor/ars/scripts/test_check_v3_9_4_temporal_verification.py +471 -0
- package/vendor/ars/scripts/test_check_version_consistency.py +1462 -0
- package/vendor/ars/scripts/test_check_workflow_classification.py +225 -0
- package/vendor/ars/scripts/test_chinese_literature_client.py +1889 -0
- package/vendor/ars/scripts/test_citation_existence_policy.py +480 -0
- package/vendor/ars/scripts/test_citation_verification_summary.py +342 -0
- package/vendor/ars/scripts/test_claim_audit_calibration.py +882 -0
- package/vendor/ars/scripts/test_claim_audit_finalizer.py +979 -0
- package/vendor/ars/scripts/test_claim_audit_pipeline.py +2398 -0
- package/vendor/ars/scripts/test_claim_audit_schema.py +1778 -0
- package/vendor/ars/scripts/test_claim_intent_manifest.py +666 -0
- package/vendor/ars/scripts/test_claim_registry_coverage.py +246 -0
- package/vendor/ars/scripts/test_claim_standing_discovery.py +579 -0
- package/vendor/ars/scripts/test_claim_standing_pipeline_wiring.py +290 -0
- package/vendor/ars/scripts/test_claim_standing_stance_assets.py +399 -0
- package/vendor/ars/scripts/test_claim_standing_stance_contracts.py +383 -0
- package/vendor/ars/scripts/test_claim_standing_stance_runner.py +349 -0
- package/vendor/ars/scripts/test_claim_standing_transmissions.py +605 -0
- package/vendor/ars/scripts/test_claim_strength_drift_disposition.py +517 -0
- package/vendor/ars/scripts/test_claim_verification_coverage_contract.py +104 -0
- package/vendor/ars/scripts/test_contamination_signals.py +1086 -0
- package/vendor/ars/scripts/test_content_coverage_advisory.py +1767 -0
- package/vendor/ars/scripts/test_cross_document_consistency_advisory.py +1270 -0
- package/vendor/ars/scripts/test_cross_model_codex_transport.py +1152 -0
- package/vendor/ars/scripts/test_cross_model_handoff.py +571 -0
- package/vendor/ars/scripts/test_cross_model_verification_guards.py +792 -0
- package/vendor/ars/scripts/test_crossref_client.py +393 -0
- package/vendor/ars/scripts/test_dispatch_e4_panel.py +4235 -0
- package/vendor/ars/scripts/test_e2e_claim_audit.py +540 -0
- package/vendor/ars/scripts/test_eval_harness_workflow.py +140 -0
- package/vendor/ars/scripts/test_evals_citation_extraction.py +150 -0
- package/vendor/ars/scripts/test_evals_lift_report_schema.py +108 -0
- package/vendor/ars/scripts/test_evidence_rows.py +2593 -0
- package/vendor/ars/scripts/test_experiment_provenance.py +915 -0
- package/vendor/ars/scripts/test_human_read_attestation_resolver.py +477 -0
- package/vendor/ars/scripts/test_ideation_diversity_assignment_gate.py +615 -0
- package/vendor/ars/scripts/test_indirect_prompt_injection_behavior_probe.py +250 -0
- package/vendor/ars/scripts/test_inquiry_branch_ledger.py +2296 -0
- package/vendor/ars/scripts/test_migrate_literature_corpus_to_v3_10.py +248 -0
- package/vendor/ars/scripts/test_migrate_literature_corpus_to_v3_7_3.py +545 -0
- package/vendor/ars/scripts/test_migrate_literature_corpus_to_v3_9_0.py +497 -0
- package/vendor/ars/scripts/test_normalize_compat_verdict.py +149 -0
- package/vendor/ars/scripts/test_openalex_client.py +490 -0
- package/vendor/ars/scripts/test_passport_yaml.py +104 -0
- package/vendor/ars/scripts/test_pattern_eval_runtime.py +1295 -0
- package/vendor/ars/scripts/test_pdf_read_preflight.py +1943 -0
- package/vendor/ars/scripts/test_policy_anchor_disclosure.py +666 -0
- package/vendor/ars/scripts/test_reading_probe_lint.py +218 -0
- package/vendor/ars/scripts/test_recompute_receipts.py +778 -0
- package/vendor/ars/scripts/test_render_claim_standing_view.py +192 -0
- package/vendor/ars/scripts/test_render_eval_comment.py +162 -0
- package/vendor/ars/scripts/test_render_harness_retirement_issue.py +110 -0
- package/vendor/ars/scripts/test_repro_lock_validation_drift.py +100 -0
- package/vendor/ars/scripts/test_research_workflow_profile.py +734 -0
- package/vendor/ars/scripts/test_resolve_human_subjects_authority.py +1219 -0
- package/vendor/ars/scripts/test_resolve_review_target_context.py +703 -0
- package/vendor/ars/scripts/test_resume_e4_record.py +315 -0
- package/vendor/ars/scripts/test_retraction_status.py +456 -0
- package/vendor/ars/scripts/test_review_criteria_binding.py +629 -0
- package/vendor/ars/scripts/test_review_panel_provenance.py +565 -0
- package/vendor/ars/scripts/test_review_pathway_rule_trace.py +821 -0
- package/vendor/ars/scripts/test_revision_roadmap.py +1255 -0
- package/vendor/ars/scripts/test_run_ci_pytest_manifest.py +186 -0
- package/vendor/ars/scripts/test_run_codex_audit_e2e.py +369 -0
- package/vendor/ars/scripts/test_run_evals.py +430 -0
- package/vendor/ars/scripts/test_run_guard_launcher.py +500 -0
- package/vendor/ars/scripts/test_run_ideation_diversity_no_call.py +1833 -0
- package/vendor/ars/scripts/test_run_indirect_prompt_injection_no_call.py +1889 -0
- package/vendor/ars/scripts/test_run_review_criteria_constructive_value.py +586 -0
- package/vendor/ars/scripts/test_run_role_topology_utility_dry_run.py +428 -0
- package/vendor/ars/scripts/test_score_review_criteria_constructive_value.py +340 -0
- package/vendor/ars/scripts/test_semantic_scholar_client.py +554 -0
- package/vendor/ars/scripts/test_slr_lineage_emission.py +230 -0
- package/vendor/ars/scripts/test_socratic_rq_non_generation_contract.py +173 -0
- package/vendor/ars/scripts/test_temporal_integrity_audit.py +438 -0
- package/vendor/ars/scripts/test_text_similarity.py +95 -0
- package/vendor/ars/scripts/test_title_fuzzy_false_positive.py +111 -0
- package/vendor/ars/scripts/test_tortured_phrase_screening.py +2959 -0
- package/vendor/ars/scripts/test_transport_fixture_citation_gate.py +338 -0
- package/vendor/ars/scripts/test_uncited_assertion.py +558 -0
- package/vendor/ars/scripts/test_v3_6_7_phase_6_6.py +1279 -0
- package/vendor/ars/scripts/test_validate_compliance_fixtures.py +36 -0
- package/vendor/ars/scripts/test_validate_ideation_diversity_assets.py +230 -0
- package/vendor/ars/scripts/test_venue_disclosure_contract.py +755 -0
- package/vendor/ars/scripts/test_verification_cache.py +280 -0
- package/vendor/ars/scripts/test_verification_gate.py +461 -0
- package/vendor/ars/scripts/test_verify_passport_cli.py +123 -0
- package/vendor/ars/scripts/test_verify_submission_package.py +1407 -0
- package/vendor/ars/scripts/test_version_records_schema.py +211 -0
- package/vendor/ars/scripts/tortured_phrase_screening.py +3502 -0
- package/vendor/ars/scripts/uncited_assertion_detector.py +254 -0
- package/vendor/ars/scripts/v3_6_7_inversion_manifest.json +9 -0
- package/vendor/ars/scripts/v3_6_8_inversion_manifest.json +10 -0
- package/vendor/ars/scripts/validate_claim_standing_stance_assets.py +249 -0
- package/vendor/ars/scripts/validate_compliance_fixtures.py +56 -0
- package/vendor/ars/scripts/validate_ideation_diversity_assets.py +303 -0
- package/vendor/ars/scripts/venue_disclosure_contract_harness.py +837 -0
- package/vendor/ars/scripts/verification_cache.py +276 -0
- package/vendor/ars/scripts/verification_gate/__init__.py +345 -0
- package/vendor/ars/scripts/verify_passport.py +133 -0
- package/vendor/ars/scripts/verify_submission_package.py +1657 -0
- package/vendor/ars/shared/agents/compliance_agent.md +136 -0
- package/vendor/ars/shared/artifact_reproducibility_pattern.md +173 -0
- package/vendor/ars/shared/benchmark_report.schema.json +81 -0
- package/vendor/ars/shared/benchmark_report_pattern.md +180 -0
- package/vendor/ars/shared/bibliographic_integrity_signals.md +142 -0
- package/vendor/ars/shared/collaboration_depth_rubric.md +154 -0
- package/vendor/ars/shared/compliance_checkpoint_protocol.md +162 -0
- package/vendor/ars/shared/compliance_report.schema.json +187 -0
- package/vendor/ars/shared/contracts/README.md +938 -0
- package/vendor/ars/shared/contracts/activity/adjudication_activity_input.schema.json +555 -0
- package/vendor/ars/shared/contracts/activity/adjudication_activity_store.schema.json +560 -0
- package/vendor/ars/shared/contracts/audit/audit_jsonl.schema.json +128 -0
- package/vendor/ars/shared/contracts/audit/audit_sidecar.schema.json +169 -0
- package/vendor/ars/shared/contracts/audit/audit_verdict.schema.json +133 -0
- package/vendor/ars/shared/contracts/audit/cross_document_consistency_advisory.schema.json +480 -0
- package/vendor/ars/shared/contracts/audit/cross_document_consistency_advisory_draft.schema.json +564 -0
- package/vendor/ars/shared/contracts/audit/cross_document_source_manifest.schema.json +202 -0
- package/vendor/ars/shared/contracts/audit/tortured_phrase_advisory.schema.json +1362 -0
- package/vendor/ars/shared/contracts/audit/tortured_phrase_snapshot.schema.json +208 -0
- package/vendor/ars/shared/contracts/audit/tortured_phrase_snapshot_manifest.schema.json +335 -0
- package/vendor/ars/shared/contracts/capability/stage_capability_matrix.json +434 -0
- package/vendor/ars/shared/contracts/claim_standing/candidate_ledger.schema.json +705 -0
- package/vendor/ars/shared/contracts/claim_standing/query_plan.schema.json +389 -0
- package/vendor/ars/shared/contracts/claim_standing/query_plan_v1_1.schema.json +782 -0
- package/vendor/ars/shared/contracts/claim_standing/retrieval_input.schema.json +440 -0
- package/vendor/ars/shared/contracts/claim_standing/stance_record.schema.json +460 -0
- package/vendor/ars/shared/contracts/claim_standing/transmission_ledger.schema.json +282 -0
- package/vendor/ars/shared/contracts/cross_model/codex_citation_receipt.schema.json +157 -0
- package/vendor/ars/shared/contracts/cross_model/codex_citation_request.schema.json +23 -0
- package/vendor/ars/shared/contracts/cross_model/promotion_bakeoff_sealed_commitment.schema.json +55 -0
- package/vendor/ars/shared/contracts/cross_model/promotion_bakeoff_sealed_reveal.schema.json +50 -0
- package/vendor/ars/shared/contracts/degradation_registry.json +428 -0
- package/vendor/ars/shared/contracts/evaluator/full.json +126 -0
- package/vendor/ars/shared/contracts/evidence/claim_registry.schema.json +50 -0
- package/vendor/ars/shared/contracts/evidence/claim_registry_coverage_report.schema.json +79 -0
- package/vendor/ars/shared/contracts/evidence/evidence_row.schema.json +504 -0
- package/vendor/ars/shared/contracts/evidence/evidence_row_v1_1.schema.json +364 -0
- package/vendor/ars/shared/contracts/evidence/evidence_row_v1_2.schema.json +714 -0
- package/vendor/ars/shared/contracts/evidence/evidence_row_v1_3.schema.json +524 -0
- package/vendor/ars/shared/contracts/human_subjects/authority_profile_registry.schema.json +497 -0
- package/vendor/ars/shared/contracts/human_subjects/committee_correspondence.schema.json +253 -0
- package/vendor/ars/shared/contracts/human_subjects/content_coverage_advisory.schema.json +620 -0
- package/vendor/ars/shared/contracts/human_subjects/irb_context_record.schema.json +329 -0
- package/vendor/ars/shared/contracts/human_subjects/resolved_authority_context.schema.json +347 -0
- package/vendor/ars/shared/contracts/human_subjects/review_pathway_rule_trace.schema.json +265 -0
- package/vendor/ars/shared/contracts/human_subjects/review_pathway_trace_request.schema.json +127 -0
- package/vendor/ars/shared/contracts/human_subjects/submission_packet_inventory.schema.json +240 -0
- package/vendor/ars/shared/contracts/human_subjects/submission_packet_manifest.schema.json +999 -0
- package/vendor/ars/shared/contracts/passport/audit_artifact_entry.schema.json +266 -0
- package/vendor/ars/shared/contracts/passport/bibliographic_integrity_signal.schema.json +1676 -0
- package/vendor/ars/shared/contracts/passport/citation_provenance.schema.json +107 -0
- package/vendor/ars/shared/contracts/passport/citation_verification_summary.schema.json +164 -0
- package/vendor/ars/shared/contracts/passport/claim_audit_result.schema.json +124 -0
- package/vendor/ars/shared/contracts/passport/claim_drift.schema.json +58 -0
- package/vendor/ars/shared/contracts/passport/claim_intent_manifest.schema.json +107 -0
- package/vendor/ars/shared/contracts/passport/constraint_violation.schema.json +65 -0
- package/vendor/ars/shared/contracts/passport/experiment_alignment_result.schema.json +69 -0
- package/vendor/ars/shared/contracts/passport/experiment_provenance_entry.schema.json +169 -0
- package/vendor/ars/shared/contracts/passport/human_read_log.schema.json +86 -0
- package/vendor/ars/shared/contracts/passport/inquiry_ledger_ref.schema.json +22 -0
- package/vendor/ars/shared/contracts/passport/literature_corpus_entry.schema.json +650 -0
- package/vendor/ars/shared/contracts/passport/preregistration_artifact.schema.json +132 -0
- package/vendor/ars/shared/contracts/passport/rejection_log.schema.json +89 -0
- package/vendor/ars/shared/contracts/passport/reset_ledger_entry.schema.json +158 -0
- package/vendor/ars/shared/contracts/passport/temporal_audit_results.schema.json +208 -0
- package/vendor/ars/shared/contracts/passport/terminal_policies.schema.json +50 -0
- package/vendor/ars/shared/contracts/passport/timeline.schema.json +102 -0
- package/vendor/ars/shared/contracts/passport/uncited_assertion.schema.json +56 -0
- package/vendor/ars/shared/contracts/passport/uncited_audit_failure.schema.json +72 -0
- package/vendor/ars/shared/contracts/passport/user_attested_read_resolution.schema.json +87 -0
- package/vendor/ars/shared/contracts/passport/version_records.schema.json +138 -0
- package/vendor/ars/shared/contracts/patch/block_manifest.schema.json +45 -0
- package/vendor/ars/shared/contracts/patch/legacy/v1_0/revision_patch.schema.json +110 -0
- package/vendor/ars/shared/contracts/patch/revision_patch.schema.json +250 -0
- package/vendor/ars/shared/contracts/pdf/pdf_content_classifier_diagnostic.schema.json +39 -0
- package/vendor/ars/shared/contracts/pdf/pdf_content_classifier_worker.schema.json +88 -0
- package/vendor/ars/shared/contracts/pdf/pdf_read_preflight.schema.json +227 -0
- package/vendor/ars/shared/contracts/re_review/input_manifest.schema.json +161 -0
- package/vendor/ars/shared/contracts/re_review/legacy/v1_0/input_manifest.schema.json +134 -0
- package/vendor/ars/shared/contracts/re_review/legacy/v1_0/precommitment.schema.json +193 -0
- package/vendor/ars/shared/contracts/re_review/legacy/v1_0/traceability.schema.json +841 -0
- package/vendor/ars/shared/contracts/re_review/legacy/v1_0/verdict_record.schema.json +244 -0
- package/vendor/ars/shared/contracts/re_review/precommitment.schema.json +193 -0
- package/vendor/ars/shared/contracts/re_review/traceability.schema.json +916 -0
- package/vendor/ars/shared/contracts/re_review/verdict_record.schema.json +245 -0
- package/vendor/ars/shared/contracts/research_workflow/inquiry_branch_ledger.schema.json +449 -0
- package/vendor/ars/shared/contracts/research_workflow/research_workflow_profile.schema.json +222 -0
- package/vendor/ars/shared/contracts/research_workflow/research_workflow_profile_selection_receipt.schema.json +111 -0
- package/vendor/ars/shared/contracts/review_target/constructive_review_findings.schema.json +172 -0
- package/vendor/ars/shared/contracts/review_target/criteria_registry.schema.json +97 -0
- package/vendor/ars/shared/contracts/review_target/review_criteria_binding_manifest.schema.json +235 -0
- package/vendor/ars/shared/contracts/review_target/review_criteria_source_receipt.schema.json +158 -0
- package/vendor/ars/shared/contracts/review_target/review_target_context.schema.json +106 -0
- package/vendor/ars/shared/contracts/review_target/review_target_declaration.schema.json +118 -0
- package/vendor/ars/shared/contracts/reviewer/full.json +114 -0
- package/vendor/ars/shared/contracts/reviewer/methodology_focus.json +75 -0
- package/vendor/ars/shared/contracts/reviewer/review_panel_provenance.schema.json +263 -0
- package/vendor/ars/shared/contracts/reviewer/review_panel_provenance_carrier.schema.json +122 -0
- package/vendor/ars/shared/contracts/reviewer/review_panel_provenance_input.schema.json +120 -0
- package/vendor/ars/shared/contracts/revision/author_adjudication.schema.json +251 -0
- package/vendor/ars/shared/contracts/revision/author_adjudication_input.schema.json +25 -0
- package/vendor/ars/shared/contracts/revision/claim_strength_drift_disposition.schema.json +97 -0
- package/vendor/ars/shared/contracts/revision/claim_strength_drift_disposition_input.schema.json +80 -0
- package/vendor/ars/shared/contracts/revision/claim_strength_drift_findings.schema.json +139 -0
- package/vendor/ars/shared/contracts/revision/claim_surface_manifest.schema.json +99 -0
- package/vendor/ars/shared/contracts/revision/integrity_correction_authorization.schema.json +140 -0
- package/vendor/ars/shared/contracts/revision/integrity_correction_authorization_input.schema.json +28 -0
- package/vendor/ars/shared/contracts/revision/integrity_correction_list.schema.json +48 -0
- package/vendor/ars/shared/contracts/revision/integrity_pass_receipt.schema.json +16 -0
- package/vendor/ars/shared/contracts/revision/revision_evidence_bundle.schema.json +134 -0
- package/vendor/ars/shared/contracts/revision/revision_roadmap.schema.json +334 -0
- package/vendor/ars/shared/contracts/submission/format_profile.example.yaml +33 -0
- package/vendor/ars/shared/contracts/submission/format_profile.schema.json +102 -0
- package/vendor/ars/shared/contracts/submission/submission_verification_report.schema.json +233 -0
- package/vendor/ars/shared/contracts/submission/venue_profile.schema.json +114 -0
- package/vendor/ars/shared/contracts/writer/full.json +87 -0
- package/vendor/ars/shared/cross_model_verification.md +714 -0
- package/vendor/ars/shared/evals_lift_report.schema.json +141 -0
- package/vendor/ars/shared/ground_truth_isolation_pattern.md +275 -0
- package/vendor/ars/shared/handoff_schemas.md +1209 -0
- package/vendor/ars/shared/human_subjects_authority_registry.json +1278 -0
- package/vendor/ars/shared/mode_spectrum.md +57 -0
- package/vendor/ars/shared/model_tiering.md +83 -0
- package/vendor/ars/shared/policy_data/nature_policy.md +56 -0
- package/vendor/ars/shared/prisma_trAIce_protocol.md +157 -0
- package/vendor/ars/shared/raise_framework.md +129 -0
- package/vendor/ars/shared/references/authority_content_coverage_advisory_protocol.md +275 -0
- package/vendor/ars/shared/references/claim_standing_candidate_ledger_protocol.md +66 -0
- package/vendor/ars/shared/references/claim_strength_ladder.md +93 -0
- package/vendor/ars/shared/references/cross_document_consistency_advisory_protocol.md +263 -0
- package/vendor/ars/shared/references/evidence_row_protocol.md +260 -0
- package/vendor/ars/shared/references/firm_rules.md +90 -0
- package/vendor/ars/shared/references/human_subjects_authority_protocol.md +274 -0
- package/vendor/ars/shared/references/intent_clarification_protocol.md +168 -0
- package/vendor/ars/shared/references/irb_terminology_glossary.md +229 -0
- package/vendor/ars/shared/references/protected_hedging_phrases.md +118 -0
- package/vendor/ars/shared/references/psychometric_terminology_glossary.md +109 -0
- package/vendor/ars/shared/references/review_criteria_consumer_protocol.md +238 -0
- package/vendor/ars/shared/references/review_pathway_rule_trace_protocol.md +166 -0
- package/vendor/ars/shared/references/submission_packet_manifest_protocol.md +292 -0
- package/vendor/ars/shared/references/word_count_conventions.md +124 -0
- package/vendor/ars/shared/research_workflow_profiles/field_general.json +1 -0
- package/vendor/ars/shared/review_criteria_registry.json +207 -0
- package/vendor/ars/shared/review_criteria_sources/msr-2027-technical-papers.2026-08-24.json +46 -0
- package/vendor/ars/shared/review_criteria_sources/sigsoft-empirical-standards.2026-08-24.json +31 -0
- package/vendor/ars/shared/sprint_contract.schema.json +482 -0
- package/vendor/ars/shared/style_calibration_protocol.md +151 -0
- package/vendor/ars/shared/templates/codex_audit_multifile_template.md +263 -0
- package/vendor/ars/tools/release-discipline/.toolkit-version +1 -0
- package/vendor/ars/tools/release-discipline/README.md +4 -0
- package/vendor/ars/tools/release-discipline/scripts/_release_doc_alignment_schema.py +1011 -0
- package/vendor/ars/tools/release-discipline/scripts/check_command_invariants.py +497 -0
- package/vendor/ars/tools/release-discipline/scripts/check_release_doc_alignment.py +263 -0
- package/vendor/ars/tools/release-discipline/scripts/sync-toolkit.sh +147 -0
- package/vendor/windows/NOTICE.md +12 -0
- package/vendor/windows/arm64/fd.exe +0 -0
- package/vendor/windows/arm64/licenses/fd/LICENSE-APACHE +201 -0
- package/vendor/windows/arm64/licenses/fd/LICENSE-MIT +21 -0
- package/vendor/windows/arm64/licenses/ripgrep/COPYING +3 -0
- package/vendor/windows/arm64/licenses/ripgrep/LICENSE-MIT +21 -0
- package/vendor/windows/arm64/licenses/ripgrep/UNLICENSE +24 -0
- package/vendor/windows/arm64/rg.exe +0 -0
- package/vendor/windows/x64/fd.exe +0 -0
- package/vendor/windows/x64/licenses/fd/LICENSE-APACHE +201 -0
- package/vendor/windows/x64/licenses/fd/LICENSE-MIT +21 -0
- package/vendor/windows/x64/licenses/ripgrep/COPYING +3 -0
- package/vendor/windows/x64/licenses/ripgrep/LICENSE-MIT +21 -0
- package/vendor/windows/x64/licenses/ripgrep/UNLICENSE +24 -0
- package/vendor/windows/x64/rg.exe +0 -0
|
@@ -0,0 +1,938 @@
|
|
|
1
|
+
# ARS Shared Contracts
|
|
2
|
+
|
|
3
|
+
Schema files for cross-skill contracts: reviewer sprint contracts, Material Passport
|
|
4
|
+
ports, and (v3.6.7+) cross-model audit artifact pipelines.
|
|
5
|
+
|
|
6
|
+
## Stage capability / evidence matrix (#745)
|
|
7
|
+
|
|
8
|
+
- `capability/stage_capability_matrix.json` (`stage-capability-matrix/1.0`) is the
|
|
9
|
+
single machine-readable source for per-stage mechanism status, deterministic
|
|
10
|
+
conformance, behavioral-evidence provenance, transport limits, and the maximum
|
|
11
|
+
claim that evidence licenses. Behavioral statuses (`DESIGNED` / `NOT_RUN` /
|
|
12
|
+
`MEASURED` / `MIXED` / `OUT_OF_SCOPE`) cannot collapse: an unrun eval can never
|
|
13
|
+
carry a result, a measured row must carry full provenance (in-repo `eval_ref`,
|
|
14
|
+
model, population, ISO date, result summary), and stale measurements require a
|
|
15
|
+
visible staleness note. A measured row whose suite publishes
|
|
16
|
+
`measurement-*.json` reports must bind the current one (date-equal, sibling
|
|
17
|
+
supersession detected), `CI_GATED`/`TESTED` conformance must name existing
|
|
18
|
+
lints/tests (`conformance_pinned_by`, D4-style), and `claim_anchors` bind
|
|
19
|
+
top-level capability sentences verbatim so rewording a claim without
|
|
20
|
+
touching the matrix fails CI.
|
|
21
|
+
- `docs/STAGE_CAPABILITY_MATRIX.md` is GENERATED from the matrix
|
|
22
|
+
(`scripts/check_stage_capability_matrix.py --render`) and byte-pinned by the
|
|
23
|
+
same lint. The matrix indexes evidence, it does not create it: a row licenses
|
|
24
|
+
at most its recorded `max_licensed_claim`, never more.
|
|
25
|
+
|
|
26
|
+
## Sealed Promotion Bakeoff preregistration (#789)
|
|
27
|
+
|
|
28
|
+
- `cross_model/promotion_bakeoff_sealed_commitment.schema.json` is the closed
|
|
29
|
+
public pre-fleet carrier: campaign id, LF-normalized probe-set SHA-256, and
|
|
30
|
+
the fixed 30-row aggregate composition only. It has no row, label, path, or
|
|
31
|
+
free-text field in which the answer key can be exposed.
|
|
32
|
+
- `cross_model/promotion_bakeoff_sealed_reveal.schema.json` binds that immutable
|
|
33
|
+
commitment to the post-fleet `probe_set.json` reveal. The standard-library
|
|
34
|
+
checker `scripts/check_promotion_bakeoff_preregistration.py` validates the
|
|
35
|
+
closed probe shape, strict Git introduction order, immutable history,
|
|
36
|
+
canonical paths, worktree/index state, and detectable reuse across all local
|
|
37
|
+
refs and every historical probe version. It rejects shallow history and
|
|
38
|
+
unreadable historical objects; the sole 2026-08-19 unsealed grandfather is
|
|
39
|
+
pinned to its canonical path, normalized digest, blob history, and file mode.
|
|
40
|
+
Verification receipts enumerate every bound squash/cherry-pick reveal copy
|
|
41
|
+
whose remote publication time must be witnessed after the fleet.
|
|
42
|
+
|
|
43
|
+
The checker proves repository evidence only. Remote publication time and fleet
|
|
44
|
+
start/end time cannot be derived from local Git, so its receipt explicitly
|
|
45
|
+
requires the public permalink, passing CI witness, and fleet-time bounds in the
|
|
46
|
+
run report before a result is gate-eligible. The full operator lifecycle and
|
|
47
|
+
claims boundary live in `../cross_model_verification.md` § Promotion Bakeoff.
|
|
48
|
+
|
|
49
|
+
## Research-family workflow profiles (#742)
|
|
50
|
+
|
|
51
|
+
- `research_workflow/research_workflow_profile.schema.json`
|
|
52
|
+
(`research-workflow-profile/1.0`) is the closed, manuscript-blind declaration
|
|
53
|
+
of stage applicability and vocabulary. Omitted task families resolve to
|
|
54
|
+
`unresolved_fit`, never to applicable. The profile embeds a SHA-256 over its
|
|
55
|
+
JSON Canonical Form with `content_sha256` replaced by 64 zeroes; persisted
|
|
56
|
+
profile files must themselves be exact canonical bytes.
|
|
57
|
+
- `research_workflow/research_workflow_profile_selection_receipt.schema.json`
|
|
58
|
+
(`research-workflow-profile-selection-receipt/1.0`) records an append-only
|
|
59
|
+
user selection/confirmation/fallback chain. A correction appends a new
|
|
60
|
+
binding and one visible `profile_context_changed` stale mark per supplied
|
|
61
|
+
prior-profile stage output. It never rewrites or removes an artifact. Newly
|
|
62
|
+
introduced authority requirements remain attached to each mark with an
|
|
63
|
+
explicit `authority_sensitive_reuse_gate: unmet`, so a later consumer can
|
|
64
|
+
block that reuse until the applicable check passes.
|
|
65
|
+
- `../research_workflow_profiles/field_general.json` is the mandatory shipped
|
|
66
|
+
fallback: every task family is unresolved except the field-general integrity
|
|
67
|
+
gates, alternatives are unresolved, the live-branch budget is 3, and an empty
|
|
68
|
+
authority list means “unknown; ask the user,” never “not required.” It ships
|
|
69
|
+
with explicit English and zh-TW display names.
|
|
70
|
+
|
|
71
|
+
The standard-library runtime is `scripts/research_workflow_profile.py`. Its
|
|
72
|
+
`select` command treats an omitted `--profile` as a visibly recorded automatic
|
|
73
|
+
fallback; an explicit profile requires `--selected-by`. `correct` consumes an
|
|
74
|
+
explicit prior-profile binding and stage-output inventory, then emits the new
|
|
75
|
+
receipt to stdout only. No command reads manuscript content, infers a family,
|
|
76
|
+
changes the default workflow, or writes scholar-owned artifacts. The human
|
|
77
|
+
usability protocol and every outcome claim remain `NOT_RUN`.
|
|
78
|
+
|
|
79
|
+
## Opt-in inquiry branch ledger (#743)
|
|
80
|
+
|
|
81
|
+
- `research_workflow/inquiry_branch_ledger.schema.json`
|
|
82
|
+
(`inquiry-branch-ledger/1.0`) is the closed event-source contract for
|
|
83
|
+
author-originated branches, parked AI-surfaced facets, explicit adoption,
|
|
84
|
+
disposition, reopen signals, profile rebound, and first-degree artifact
|
|
85
|
+
staleness. Dense event ids plus a canonical previous-event hash chain detect
|
|
86
|
+
interior rewrite/reorder; the separate passport digest is the required
|
|
87
|
+
trusted head for truncation detection.
|
|
88
|
+
- `passport/inquiry_ledger_ref.schema.json` closes the optional Material
|
|
89
|
+
Passport pointer to `{ledger_path, ledger_version, content_sha256}`. It never
|
|
90
|
+
embeds a branch or profile and never widens a filesystem path outside the
|
|
91
|
+
caller-supplied workspace root.
|
|
92
|
+
|
|
93
|
+
The deterministic offline runtime is `scripts/inquiry_branch_ledger.py`. Replay
|
|
94
|
+
requires every exact profile bound by the ledger so the live-branch budget is
|
|
95
|
+
never inferred from a current default. Reopen appends contiguous deterministic
|
|
96
|
+
stale-cause events; clearing one cause cannot clear another. Ledger/passport
|
|
97
|
+
publication uses a stable sidecar lock and durable recovery journal. The
|
|
98
|
+
feature is OFF unless `ARS_INQUIRY_LEDGER=1`, does not materialize before a
|
|
99
|
+
second branch, and shows compact summaries only at the frozen Stage 1, 2.5,
|
|
100
|
+
4.5, or still-actionable recorded-signal moments. Behavioral and usability evidence is
|
|
101
|
+
`NOT_RUN`.
|
|
102
|
+
|
|
103
|
+
## PDF read-integrity and optional content advisory (#512 follow-up)
|
|
104
|
+
|
|
105
|
+
- `pdf/pdf_read_preflight.schema.json` accepts the unchanged legacy structural sidecar
|
|
106
|
+
or the all-or-nothing opt-in content extension. In that extension, `verdict` is
|
|
107
|
+
explicitly `verdict_scope: STRUCTURE_ONLY`; `OCR_RECOMMENDED` never rewrites that
|
|
108
|
+
structural value into a content claim. The schema binds the legacy shape to tool
|
|
109
|
+
version 1.0.0 and the extension shape to 1.1.0.
|
|
110
|
+
- `pdf/pdf_content_classifier_worker.schema.json` closes the stdout of the fixed
|
|
111
|
+
isolated worker to two classifications, three unavailable reasons, finite bounded
|
|
112
|
+
confidence, and bounded non-negative page indexes. Runtime additionally binds every
|
|
113
|
+
page to the structural page count.
|
|
114
|
+
- `pdf/pdf_content_classifier_diagnostic.schema.json` is the separate POSIX-only,
|
|
115
|
+
local mode-`0600` operator artifact. Platforms without `fchmod` reject its CLI
|
|
116
|
+
option before path creation. Its explicitly untrusted detail is capped and never
|
|
117
|
+
copied into or referenced by the sidecar. File-writing CLI invocations use
|
|
118
|
+
conservative NFC/casefold keys, path resolution, and existing-inode checks to reject
|
|
119
|
+
aliases before worker launch; the stdout-only legacy path adds no such precondition.
|
|
120
|
+
POSIX sidecar output pre-binds the parent dirfd/inode, then uses a private `0700`
|
|
121
|
+
fixed-name staging directory and anchored dirfd-relative publication. Open-inode
|
|
122
|
+
checks reject staging entry swaps; atomic final-entry replacement does not follow
|
|
123
|
+
post-check links. Non-POSIX output fails closed; stdout classification remains
|
|
124
|
+
available. The diagnostic parent is likewise dirfd-bound before the worker. These are
|
|
125
|
+
instantaneous inode postconditions, not a general same-UID sandbox; callers control
|
|
126
|
+
the output parent. A failed diagnostic unlinks only the no-follow leaf still matching
|
|
127
|
+
its created fd inode, preserving the primary error and any attacker replacement while
|
|
128
|
+
keeping its exclusive path retryable.
|
|
129
|
+
|
|
130
|
+
Runtime: `scripts/pdf_read_preflight.py` and
|
|
131
|
+
`scripts/pdf_content_classifier_worker.py`. Frozen opt-in scope and residual risk:
|
|
132
|
+
`docs/design/2026-08-13-512-pdf-content-classification-sandbox-spec.md`.
|
|
133
|
+
|
|
134
|
+
## Claim-standing candidate ledger (#655 Track A)
|
|
135
|
+
|
|
136
|
+
- `claim_standing/query_plan.schema.json` (`claim-standing-query-plan/1.0`)
|
|
137
|
+
binds one exact high-impact checkpoint claim, at most three accepted queries,
|
|
138
|
+
at most four discovery-index identities, filters, authorized content class,
|
|
139
|
+
frozen caps, and retrieval-only consent through a closed consentable-plan
|
|
140
|
+
projection (version 1.1 below adds the stance-authorizable consent).
|
|
141
|
+
- `claim_standing/retrieval_input.schema.json`
|
|
142
|
+
(`claim-standing-retrieval-input/1.0`) carries already-retained,
|
|
143
|
+
adapter-neutral attempts, closed retry-authorization receipts, raw hits,
|
|
144
|
+
explicit version relations, and caller-supplied relevance success/failure
|
|
145
|
+
evidence bound to exact claim/candidate inputs and canonical prompt bytes.
|
|
146
|
+
- `claim_standing/candidate_ledger.schema.json`
|
|
147
|
+
(`claim-standing-candidate-ledger/1.0`) preserves every attempt and raw-hit
|
|
148
|
+
terminal state while recording deterministic work-family selection.
|
|
149
|
+
- `claim_standing/query_plan_v1_1.schema.json`
|
|
150
|
+
(`claim-standing-query-plan/1.1`) is identical to 1.0 except that the consent
|
|
151
|
+
decision may be `retrieval_plus_stance`, in which case a top-level
|
|
152
|
+
`stance_plan` names the exact stance provider/model surface, the consent
|
|
153
|
+
binds its hash, and the authorized content classes extend by exactly
|
|
154
|
+
`claim_and_selected_evidence_to_stance_provider`. A 1.0 plan stays valid
|
|
155
|
+
under its own schema; the runtime validator accepts both versions and
|
|
156
|
+
enforces the stance bindings only on 1.1.
|
|
157
|
+
- `claim_standing/transmission_ledger.schema.json`
|
|
158
|
+
(`claim-standing-transmission-ledger/1.0`) accounts every event that left the
|
|
159
|
+
session during one probe: retrieval-query events derived one-to-one from the
|
|
160
|
+
retained attempts and stance-classification events copied verbatim from the
|
|
161
|
+
stance runner's transmission records, each carrying recipient, purpose, exact
|
|
162
|
+
content classes, byte count, local hash, time, consent receipt, retention
|
|
163
|
+
disclosure, and result state. `scripts/check_claim_standing_transmissions.py`
|
|
164
|
+
is the normative builder/validator: an event outside the plan's authorized
|
|
165
|
+
content classes or consented recipient roster fails closed (design §9
|
|
166
|
+
gate 14), and validation is exact replay.
|
|
167
|
+
- `claim_standing/stance_record.schema.json`
|
|
168
|
+
(`claim-standing-stance-record/1.0`) is the stance-classification output for
|
|
169
|
+
one probe run: full §7 probe-identity hashes, one row per selected work
|
|
170
|
+
family under the closed §5.1 vocabulary and cross-field rules (a performed
|
|
171
|
+
row requires at least one `EVR-CS-` evidence-row reference; metadata-only
|
|
172
|
+
coverage can never be performed), the all-selected distribution whose seven
|
|
173
|
+
buckets must sum to `selected_total`, a mandatory
|
|
174
|
+
`STANCE CLASSIFICATION UNMEASURED` banner, and no scalar
|
|
175
|
+
credibility/confidence/trust field anywhere (test-pinned).
|
|
176
|
+
|
|
177
|
+
Provider retention disclosure is also closed: `known` requires a non-empty
|
|
178
|
+
reference and `unknown` requires null.
|
|
179
|
+
|
|
180
|
+
The schema-level `\\S` checks are portable first screens. The runtime applies a
|
|
181
|
+
single NFKC visible-semantic-text predicate to the claim/query, disclosure,
|
|
182
|
+
identity, available-abstract, successful-assessment, and failure-detail
|
|
183
|
+
surfaces; it rejects surrogates and text made only of Unicode control/format,
|
|
184
|
+
separator, combining, whitespace, or punctuation characters. Failed malformed
|
|
185
|
+
assessment raw output remains exact evidence and may itself be whitespace- or
|
|
186
|
+
format-only. DOI text is stable identity only when strict NFKC/prefix-trimmed
|
|
187
|
+
`10.<4-9 digits>/<suffix>` validation succeeds.
|
|
188
|
+
|
|
189
|
+
The pure local finalizer is
|
|
190
|
+
`scripts/build_claim_standing_candidate_ledger.py`; the authoritative boundary
|
|
191
|
+
is `shared/references/claim_standing_candidate_ledger_protocol.md`. This slice
|
|
192
|
+
has no discovery adapter, network/model call, stance classification, rendering,
|
|
193
|
+
evidence-row extension, pipeline hook, or held-out dispatch. It is an offline
|
|
194
|
+
substrate only, remains unmeasured, and does not close #655.
|
|
195
|
+
Its CLI never creates an output for a `session_only` plan. `build --output`
|
|
196
|
+
requires the existing, hash-bound `explicit_local_export` consent state; there
|
|
197
|
+
is no command-line override. Authorized output must exactly match the
|
|
198
|
+
hash-bound absolute `authorized_output_path`, is exclusive/no-follow where the host
|
|
199
|
+
supports it, mode `0600` from creation, file- and directory-fsynced, and
|
|
200
|
+
truthfully carries the consented persistence/export/path state at the ledger root
|
|
201
|
+
and in each work family's sharing scope. Its separate rights basis remains
|
|
202
|
+
`not_assessed`; local persistence consent is not a rights claim.
|
|
203
|
+
|
|
204
|
+
## Codex subscription citation transport (#630)
|
|
205
|
+
|
|
206
|
+
- `cross_model/codex_citation_request.schema.json` — closed, bounded data-only
|
|
207
|
+
request for one citation; no path or caller-authored prompt is representable.
|
|
208
|
+
- `cross_model/codex_citation_receipt.schema.json` — closed verdict plus exact
|
|
209
|
+
app-server search-result bindings and a fixed containment receipt.
|
|
210
|
+
|
|
211
|
+
Runtime: `scripts/cross_model_codex_transport.py`. Protocol and limitations:
|
|
212
|
+
`shared/cross_model_verification.md`. Frozen design:
|
|
213
|
+
`docs/design/2026-08-11-630-codex-subscription-citation-transport-spec.md`.
|
|
214
|
+
The adapter is scoped to Stage 2.5 / 4.5 citation-integrity calls and is not a
|
|
215
|
+
general DA, reviewer, judgment, or handoff transport.
|
|
216
|
+
|
|
217
|
+
## Sprint contracts (v3.6.2+)
|
|
218
|
+
|
|
219
|
+
Sprint contract templates for reviewer hard-gate orchestration.
|
|
220
|
+
|
|
221
|
+
Schema: `shared/sprint_contract.schema.json` (Schema 13).
|
|
222
|
+
Validator: `scripts/check_sprint_contract.py`.
|
|
223
|
+
Spec: `docs/design/2026-04-23-ars-v3.6.2-sprint-contract-design.md`.
|
|
224
|
+
Protocol: `academic-paper-reviewer/references/sprint_contract_protocol.md`.
|
|
225
|
+
|
|
226
|
+
### Shipped templates
|
|
227
|
+
|
|
228
|
+
**v3.6.2 (reviewer family)**:
|
|
229
|
+
|
|
230
|
+
- `reviewer/full.json` — panel 5, 5 dimensions, 4 failure conditions
|
|
231
|
+
- `reviewer/methodology_focus.json` — panel 2, 2 dimensions, 3 failure conditions
|
|
232
|
+
|
|
233
|
+
**v3.6.6 / suite v3.6.8 (generator-evaluator family)**:
|
|
234
|
+
|
|
235
|
+
- `writer/full.json` — single-agent writer, 7 dimensions (D1 section_completeness / D2 citation_density / D3 argument_blueprint_fidelity / D4 total_word_count / D5 per_section_word_count / D6 acknowledged_limitations / D7 register_consistency), 5 failure conditions (F1 / F4 / F2 / F3 / F0). No `scoring_plan` field.
|
|
236
|
+
- `evaluator/full.json` — single-agent evaluator, 5 dimensions (D1 originality / D2 methodological_rigor / D3 evidence_sufficiency / D4 argument_coherence / D5 writing_quality), 7 failure conditions (F1 / F2 / F3 / F6 / F4 / F5 / F0). Carries full `scoring_plan` + `disagreement_handling`.
|
|
237
|
+
|
|
238
|
+
Both writer + evaluator templates ship under Schema 13.1 (allOf branches 11/12 require `pre_commitment_artifacts` for `writer_full` and `disagreement_handling` for `evaluator_full`; branches 5/6 pin `failure_conditions[].action` to mode-specific enums; branches 8/9 pin F0 contains to the mode's accept variant). Orchestration block lives in `academic-paper/SKILL.md` § "v3.6.6 Generator-Evaluator Contract Protocol" + the writer/evaluator agent files.
|
|
239
|
+
|
|
240
|
+
### Reserved reviewer modes without shipped templates
|
|
241
|
+
|
|
242
|
+
`reviewer_calibration` and `reviewer_guided` are in the schema enum but ship without
|
|
243
|
+
templates. Those modes continue to operate in their existing form (no contract, no
|
|
244
|
+
hard-gate) until a follow-up patch release adds their templates. `reviewer_re_review`
|
|
245
|
+
left the Schema 13 enum with #576 Spec B: re-review is governed by the dedicated
|
|
246
|
+
contract family under `re_review/` (four schemas + `scripts/check_re_review_synthesis.py`),
|
|
247
|
+
not by a Schema 13 template — a contract claiming `mode: reviewer_re_review` no longer
|
|
248
|
+
validates.
|
|
249
|
+
|
|
250
|
+
### How to add a new template
|
|
251
|
+
|
|
252
|
+
1. Add the file under `shared/contracts/<domain>/<mode>.json`.
|
|
253
|
+
2. Run `python scripts/check_sprint_contract.py <path> --ars-version vX.Y.Z`; expect
|
|
254
|
+
zero errors and zero soft warnings.
|
|
255
|
+
3. If `expression` strings use new phrasing, update `sprint_contract_protocol.md`
|
|
256
|
+
and the synthesizer prompt's recognised-pattern list in the same PR.
|
|
257
|
+
|
|
258
|
+
## Passport contracts (v3.6.4+)
|
|
259
|
+
|
|
260
|
+
Schemas for Material Passport input ports.
|
|
261
|
+
|
|
262
|
+
- `passport/literature_corpus_entry.schema.json` (v3.6.4) — Schema 9 `literature_corpus[]`
|
|
263
|
+
entries produced by user-written adapters.
|
|
264
|
+
- `passport/bibliographic_integrity_signal.schema.json` (#678/#651/#660) — v1.0
|
|
265
|
+
additive signal carrier, v1.1 authoritative retraction-status rows, and the
|
|
266
|
+
v1.2 title/abstract tortured-phrase advisory profile,
|
|
267
|
+
including resolver disagreement/reinstatement, judgment context, freshness,
|
|
268
|
+
and opt-in finalizer policy eligibility. The separate
|
|
269
|
+
`retraction_status_cache_v1` namespace and pure resolver live in
|
|
270
|
+
`scripts/retraction_status.py`.
|
|
271
|
+
- `passport/rejection_log.schema.json` (v3.6.4) — adapter output companion logging
|
|
272
|
+
entries that could not be included in the corpus.
|
|
273
|
+
- `passport/reset_ledger_entry.schema.json` (v3.6.3) — `reset_boundary[]` ledger entries
|
|
274
|
+
for the opt-in passport reset boundary protocol.
|
|
275
|
+
- `passport/inquiry_ledger_ref.schema.json` (#743) — optional digest-bound
|
|
276
|
+
pointer to the separate canonical inquiry branch ledger; missing or
|
|
277
|
+
mismatched targets fail visibly and unpointed candidates are ignored.
|
|
278
|
+
- `passport/audit_artifact_entry.schema.json` (v3.6.7 Step 6) — `audit_artifact[]` entries
|
|
279
|
+
recording one cross-model audit run per downstream-agent deliverable. Two lifecycle
|
|
280
|
+
states (proposal / persisted) share the schema via `oneOf`. Cross-artifact invariants
|
|
281
|
+
are enforced by `scripts/check_audit_artifact_consistency.py`. Spec:
|
|
282
|
+
`docs/design/2026-04-30-ars-v3.6.7-step-6-orchestrator-hooks-spec.md` §3.1-§3.2.
|
|
283
|
+
- `passport/version_records.schema.json` (Kong #258) — optional
|
|
284
|
+
`phase2_investigation/version_records.yaml` sidecar for academic citation version
|
|
285
|
+
families (preprint -> proceedings -> journal extension). This is deliberately a
|
|
286
|
+
sidecar: `literature_corpus_entry.schema.json` stays adapter-owned and unmodified.
|
|
287
|
+
- `passport/human_read_log.schema.json` (#513/#738) — the user-owned
|
|
288
|
+
`USER_ATTESTED_READ` ledger
|
|
289
|
+
(`<passport-stem>_human_read_log.yaml`, written by `scripts/ars_mark_read.py`),
|
|
290
|
+
including required scope on new marks and legacy-compatible scope absence.
|
|
291
|
+
Declaration-only: it is not verified reading or comprehension. Missing/unknown
|
|
292
|
+
scope remains `coverage_unknown` and never promotes to `ok`.
|
|
293
|
+
- `passport/user_attested_read_resolution.schema.json` (#738) — the closed output
|
|
294
|
+
of `scripts/human_read_attestation_resolver.py`; only `state: covered` is
|
|
295
|
+
`ok_eligible`, while absence, rescind, partial/unknown coverage, unresolved
|
|
296
|
+
anchors, and invalid ledgers remain explicitly non-promoting. This output is a
|
|
297
|
+
`transient_routing_decision`, not a persisted audit receipt: it carries no
|
|
298
|
+
input digest and must be recomputed from the current ledger and exact anchor
|
|
299
|
+
on each finalizer pass. Its closed `finalizer_disposition` keeps absent or
|
|
300
|
+
rescinded marks as unacknowledged LOW-WARN, partial/unknown active marks as
|
|
301
|
+
acknowledged-partial, anchor failures on the locator-precedence route, and
|
|
302
|
+
invalid ledgers on a blocking route.
|
|
303
|
+
|
|
304
|
+
## Shared evidence rows (#656)
|
|
305
|
+
|
|
306
|
+
`shared/contracts/evidence/claim_registry.schema.json` (#737) is the closed E1
|
|
307
|
+
population contract: exact raw-draft hash plus exact UTF-8 byte span and equal
|
|
308
|
+
text for every registered claim. `claim_registry_coverage_report.schema.json`
|
|
309
|
+
is the deterministic, replay-bound gap report emitted by
|
|
310
|
+
`scripts/claim_registry_coverage.py`; it binds exact raw draft and serialized
|
|
311
|
+
registry hashes and joins only those exact spans. It covers citation-bearing
|
|
312
|
+
and quantitative candidate sentences only. Its finite grammar includes common
|
|
313
|
+
Markdown/numeric/author-year/Pandoc/inline-reference citations plus
|
|
314
|
+
unit-bearing numbers, p-values, `N=...`, and common effect-size/ratio notation;
|
|
315
|
+
unrecognized scholarly syntax remains possible. The report always records
|
|
316
|
+
`semantic_extraction_coverage: not_machine_detectable`; it cannot certify that
|
|
317
|
+
every substantive claim was extracted into E1. Consumers replay the report
|
|
318
|
+
against both inputs; absence, stale bindings, or validation failure are
|
|
319
|
+
unresolved execution states, never a zero-gap result.
|
|
320
|
+
|
|
321
|
+
## Review-panel provenance (#740)
|
|
322
|
+
|
|
323
|
+
`reviewer/review_panel_provenance_input.schema.json` records actual seat-level
|
|
324
|
+
observations; `reviewer/review_panel_provenance.schema.json` is the closed,
|
|
325
|
+
replay-derived artifact built by `scripts/review_panel_provenance.py`. Both are
|
|
326
|
+
closed to `reviewer_full`, bind the exact raw-byte digest of
|
|
327
|
+
`reviewer/full.json`, and require the ordered `EIC`, `R1`, `R2`, `R3`, `DA`
|
|
328
|
+
roster. Actual execution observations remain nullable and are never filled from
|
|
329
|
+
those seat labels. The artifact keeps role separation, within-panel invocation
|
|
330
|
+
context separation, peer-output blinding, model-family diversity, provider
|
|
331
|
+
diversity, and accountable-human diversity as six separate `true` / `false` /
|
|
332
|
+
`unknown` axes. `fresh_context_scope: within_panel_attempt_only` makes explicit
|
|
333
|
+
that no cross-attempt history is checked. Missing facts remain unknown,
|
|
334
|
+
same-family or family-unknown execution carries a fixed correlated-error
|
|
335
|
+
disclosure, and no persona-derived binary independence field is admitted.
|
|
336
|
+
|
|
337
|
+
`reviewer/review_panel_provenance_carrier.schema.json` is the exact closed
|
|
338
|
+
Schema 6 valid/invalid union. The valid branch is accepted only after the
|
|
339
|
+
runtime hashes the referenced artifact's exact raw bytes, validates and replays
|
|
340
|
+
it, and compares the normalized-manifest digest, execution-topology digest,
|
|
341
|
+
fresh-context scope, and six axes. The invalid branch admits only
|
|
342
|
+
`absent|unreachable|digest_mismatch|schema_invalid|replay_invalid`, forces all
|
|
343
|
+
axes to `unknown`, and carries no path or digest. `reviewer_full` must emit one
|
|
344
|
+
branch; the other closed modes must omit the field. Use
|
|
345
|
+
`scripts/review_panel_provenance.py validate-schema6` for mode-scoped presence
|
|
346
|
+
and replay validation.
|
|
347
|
+
|
|
348
|
+
`shared/contracts/evidence/evidence_row.schema.json` defines the closed
|
|
349
|
+
`evidence-row/1.0` carrier for evidence shown at human-adjudication checkpoints.
|
|
350
|
+
V1 has one consumer discriminator, `surface: phase_e_claim_verification`: the
|
|
351
|
+
Stage 2.5/4.5 Phase E Claim Verification Report persists
|
|
352
|
+
one row per `(claim_id, ref_slug, anchor)` at Integrity Report
|
|
353
|
+
`phases.E_claims.evidence_rows[]`. The array is additive: a positively identified
|
|
354
|
+
pre-#656 report may omit it and, only with `--allow-legacy-absence`, renders
|
|
355
|
+
exactly `LEGACY — EVIDENCE ROWS UNAVAILABLE`; missing shape alone is not legacy
|
|
356
|
+
proof and never means that evidence was checked. The opt-in Stage 4→5
|
|
357
|
+
`claim_audit_results[]` contract is a separate lifecycle and is unchanged.
|
|
358
|
+
|
|
359
|
+
The one evidence-state vocabulary is:
|
|
360
|
+
|
|
361
|
+
- `verified_exact_match` — a once-decoded writer `quote` anchor matched the
|
|
362
|
+
exact session-held source string;
|
|
363
|
+
- `agent_extracted` — a `page`/`section` passage selected by the auditing agent,
|
|
364
|
+
also exact-substring checked, but labeled non-authoritative because passage
|
|
365
|
+
selection is agent judgment;
|
|
366
|
+
- `unconfirmed_anchor` — session source was present but the writer's decoded
|
|
367
|
+
quote did not match it;
|
|
368
|
+
- `not_checked`, `source_missing`, `access_failed`, `retrieval_failed`, and
|
|
369
|
+
`anchorless` — explicit empty states. V1 maps `paragraph` to `not_checked` and
|
|
370
|
+
`none`/a missing marker to `anchorless`.
|
|
371
|
+
|
|
372
|
+
These states describe excerpt provenance/availability only. They never compute
|
|
373
|
+
or change the independent Phase E `verdict`, issue severity/count, or PASS/FAIL
|
|
374
|
+
decision. Viewing a row is not reading the source: the runtime never reads or
|
|
375
|
+
writes `human_read_log`, never invokes `/ars-mark-read`, and never affects
|
|
376
|
+
LOW-WARN/read-scope promotion.
|
|
377
|
+
|
|
378
|
+
`scripts/evidence_rows.py` is the standard-library-only normative runtime:
|
|
379
|
+
|
|
380
|
+
```python
|
|
381
|
+
strict_percent_decode(value)
|
|
382
|
+
build(row, session_source_or_none, *, extracted_text=None,
|
|
383
|
+
failure_state=None, cached_row=None)
|
|
384
|
+
validate(row, session_source_or_none=None)
|
|
385
|
+
paginate(rows, page=1, page_size=25)
|
|
386
|
+
render_markdown(rows, page=1, page_size=25, *, session_sources=None)
|
|
387
|
+
render_html(rows, page=1, page_size=25, *, session_sources=None)
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
The decoder is strict UTF-8 and runs exactly once (`+` is not a space;
|
|
391
|
+
`%2520` becomes the literal `%20`). Positive excerpts must be an exact
|
|
392
|
+
contiguous substring of the explicitly supplied session source. Quote anchors
|
|
393
|
+
and excerpts are each capped at 25 words by whitespace split and 1000 Unicode
|
|
394
|
+
code points. `source_content_sha256` hashes the exact session source encoded as
|
|
395
|
+
UTF-8 with no Unicode, whitespace, or newline normalization;
|
|
396
|
+
`source_artifact_sha256` hashes optional raw artifact bytes and never substitutes
|
|
397
|
+
for the content hash. UTF-8 byte offsets bind an excerpt to the content hash.
|
|
398
|
+
`row_sha256` covers canonical JSON for the complete row except the digest field
|
|
399
|
+
itself. It is an unkeyed integrity checksum, not a signature or independent
|
|
400
|
+
proof of provenance. Source-bound trust is established by replaying the row
|
|
401
|
+
against explicitly supplied session source text. Direct Python
|
|
402
|
+
`validate(row)` without its optional source argument checks only closed shape,
|
|
403
|
+
cross-fields, and self-contained integrity; it does not prove source provenance.
|
|
404
|
+
|
|
405
|
+
Cache keys bind schema/surface, claim and citation identity, source-content
|
|
406
|
+
hash, decoded anchor, resulting state, and (for `page`/`section`) the candidate
|
|
407
|
+
excerpt hash. A key match is replay-validated against the current session
|
|
408
|
+
source before reuse. Hits preserve the original excerpt and `captured_at`, then
|
|
409
|
+
set `cache.status: hit` and recompute `row_sha256`. Claim/source/content/candidate
|
|
410
|
+
drift is a miss. A corrupt candidate is ignored and rebuilt from current explicit
|
|
411
|
+
inputs; it is never returned as a hit. Current explicit failure states win without
|
|
412
|
+
reading cached evidence; failure/empty states are never cached.
|
|
413
|
+
|
|
414
|
+
Renderers are pure functions over persisted rows plus the explicit in-memory
|
|
415
|
+
`session_sources` mapping supplied by their caller. Every source-bound row must
|
|
416
|
+
have a matching `ref_slug → exact source text` entry and is replay-validated
|
|
417
|
+
before anything is displayed; missing or drifting text fails closed. Empty-state
|
|
418
|
+
rows need no source map. The renderer does not accept or follow a source pointer,
|
|
419
|
+
URL, DOI, retrieval client, model, cache, or read ledger. Integrity validation
|
|
420
|
+
checks the stored encoded/decoded-anchor relationship; display does not decode or
|
|
421
|
+
alter the stored anchor again. Markdown and HTML external strings are rendered
|
|
422
|
+
inert, including percent-decoded markup, table delimiters, bare URLs/email,
|
|
423
|
+
newlines, all Unicode `Cc`/`Cf` controls, and U+2028/U+2029. A render page contains
|
|
424
|
+
at most 25 rows, preserves document order, reports total/page bounds and
|
|
425
|
+
deterministic previous/next/explicit-page navigation, and never silently
|
|
426
|
+
truncates. There is intentionally no `--all`; any number of persisted rows
|
|
427
|
+
remains accessible by page.
|
|
428
|
+
|
|
429
|
+
For any Integrity Report wrapper with `evidence_rows` present, the adapter
|
|
430
|
+
requires integer `E_claims.checked` and `E_claims.verified`; it checks that unique
|
|
431
|
+
evidence `claim_id` count equals `checked`, unique `VERIFIED` claim count equals
|
|
432
|
+
`verified`, and every row sharing a claim ID carries the same claim object and
|
|
433
|
+
claim-level verdict. Thus `checked > 0` with an empty present array fails. Raw
|
|
434
|
+
single-row and row-array inputs remain valid standalone runtime inputs. Only an
|
|
435
|
+
absent `evidence_rows` field is legacy-compatible. Exact omission
|
|
436
|
+
of a selected `(claim_id, ref_slug, anchor)` tuple cannot be proved from this
|
|
437
|
+
wrapper alone because the E1 selected-tuple registry is not machine-carried here;
|
|
438
|
+
the current producer must enforce that completeness before handoff.
|
|
439
|
+
|
|
440
|
+
Rows containing an excerpt or decoded quote anchor default to
|
|
441
|
+
`session_only`/`not_assessed`. Only an explicit user declaration may set the
|
|
442
|
+
paired `user_confirmed_shareable`/`user_declared_authorized` values. The length
|
|
443
|
+
limit is data minimization, not a licence, copyright exception, or publication
|
|
444
|
+
right; exported reports must retain the row handling label/caveat or strip the
|
|
445
|
+
external text.
|
|
446
|
+
|
|
447
|
+
Validate persisted rows or render exactly one page. On both CLI commands, any
|
|
448
|
+
source-bound row requires replay from an explicit `ref_slug → source text` JSON
|
|
449
|
+
map:
|
|
450
|
+
|
|
451
|
+
```bash
|
|
452
|
+
python scripts/evidence_rows.py validate evidence-rows.json \
|
|
453
|
+
--source-map session-sources.json
|
|
454
|
+
|
|
455
|
+
python scripts/evidence_rows.py render evidence-rows.json \
|
|
456
|
+
--format markdown --page 1 --page-size 25 \
|
|
457
|
+
--source-map session-sources.json
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
`--source-map` is required whenever either CLI command receives a document with
|
|
461
|
+
a source-bound state; it is the only extra file the command opens. Missing
|
|
462
|
+
`evidence_rows` is a render failure by default. A positively identified pre-#656
|
|
463
|
+
Integrity Report renders the exact fixed legacy label with exit 0 only when the
|
|
464
|
+
caller adds `--allow-legacy-absence`; `validate` always rejects the absence.
|
|
465
|
+
Current producers may never use the compatibility flag.
|
|
466
|
+
|
|
467
|
+
`shared/contracts/evidence/evidence_row_v1_1.schema.json` is the separately
|
|
468
|
+
versioned extension for `surface: authority_profile_content_coverage` (#681).
|
|
469
|
+
It replaces Phase E claim/verdict fields with exact authority-requirement,
|
|
470
|
+
structured-expectation, packet-artifact, and document-locator bindings. Its
|
|
471
|
+
states are `agent_extracted`, `checked_no_match`, `not_checked`,
|
|
472
|
+
`source_missing`, `access_failed`, and `retrieval_failed`; they describe only
|
|
473
|
+
the provenance or absence of one bounded advisory passage. The shared 25-word,
|
|
474
|
+
1,000-code-point, strict once-decode, exact UTF-8 replay, inert rendering,
|
|
475
|
+
rights, and human-read-ledger boundaries still apply. V1.1 performs no cache
|
|
476
|
+
lookup. `scripts/evidence_rows.py` exposes `build_advisory(...)` for this
|
|
477
|
+
surface, while the existing `evidence-row/1.0` builder and rendered bytes remain
|
|
478
|
+
unchanged. The versioned surfaces cannot be mixed in one page.
|
|
479
|
+
|
|
480
|
+
`shared/contracts/evidence/evidence_row_v1_2.schema.json` is the separate closed
|
|
481
|
+
version for `surface: cross_document_consistency` (#672). It binds one complete
|
|
482
|
+
ordered bilateral or trilateral advisory observation to the exact accepted
|
|
483
|
+
manuscript and optional completed-preregistration bytes. It is finalized only by
|
|
484
|
+
`scripts/build_cross_document_consistency_advisory.py`; the existing 1.0/1.1
|
|
485
|
+
schemas and `scripts/evidence_rows.py` identities and behavior remain unchanged.
|
|
486
|
+
|
|
487
|
+
`shared/contracts/evidence/evidence_row_v1_3.schema.json` is the separate closed `evidence-row/1.3` carrier for the `claim_standing_advisory` surface (#655 design §5.2): one row per (probe claim, selected work-family candidate) binding the bounded inspected-evidence excerpt to its exact source hash/span, reusing the family's excerpt/cache/content-handling blocks verbatim (test-pinned). The row is provenance-only — it never carries a stance or verdict, an exact excerpt match never determines stance, and abstract-level coverage is declared as such and never rendered as verified full text.
|
|
488
|
+
|
|
489
|
+
## Non-ranking revision authority (#670)
|
|
490
|
+
|
|
491
|
+
The current reviewer-to-author revision family lives under `revision/`:
|
|
492
|
+
|
|
493
|
+
- `revision_roadmap.schema.json` — immutable reviewer-owned
|
|
494
|
+
`revision-roadmap/1.0`, exact draft/manifest bindings, source-trace order,
|
|
495
|
+
independent severity/obligation/cost/consequence, and proposed target scopes;
|
|
496
|
+
- `claim_surface_manifest.schema.json` — exact registered Claim Intent surfaces,
|
|
497
|
+
raw UTF-8 spans, hashes, blocks, current rungs, and byte-identical equality
|
|
498
|
+
between every protected surface and its referenced ClaimIntent `claim_text`;
|
|
499
|
+
- `author_adjudication_input.schema.json` and
|
|
500
|
+
`author_adjudication.schema.json` — explicit session-author choices and the
|
|
501
|
+
deterministic raw-hash-bound sidecar; and
|
|
502
|
+
- `integrity_correction_list.schema.json` plus the integrity authorization
|
|
503
|
+
input/output schemas — proposal-only issues and explicit author approval of
|
|
504
|
+
the complete exact patch SHA-256; and
|
|
505
|
+
- `revision_evidence_bundle.schema.json` plus the integrity receipt schema
|
|
506
|
+
— a continuous local chain from exact integrity PASS through current
|
|
507
|
+
review-write/no-op/integrity rounds to the final draft; and
|
|
508
|
+
- `claim_strength_drift_findings.schema.json`,
|
|
509
|
+
`claim_strength_drift_disposition_input.schema.json`, and
|
|
510
|
+
`claim_strength_drift_disposition.schema.json` — the E6 semantic finding set,
|
|
511
|
+
transient exact raw-event artifact paths plus choices, and deterministic
|
|
512
|
+
hash-bound disposition sidecar. Build and replay validation safely reopen
|
|
513
|
+
every explicitly named regular non-symlink event file and recompute its raw
|
|
514
|
+
SHA-256; a digest assertion alone is insufficient. The sidecar retains no
|
|
515
|
+
event path or raw message. This byte binding does not authenticate source,
|
|
516
|
+
content meaning, or actor identity.
|
|
517
|
+
|
|
518
|
+
`scripts/revision_roadmap.py` builds, validates, renders, and bundle-replays this
|
|
519
|
+
family without a model, network, API, directory scan, or ambient clock. It opens
|
|
520
|
+
only explicitly named local artifacts through containment, symlink, and
|
|
521
|
+
read-once guards. Bundle validation reruns the pure current patch engine for
|
|
522
|
+
every write round and requires byte-exact replay output to equal the named post
|
|
523
|
+
draft; rewritten artifact/report hashes cannot substitute for authorized bytes.
|
|
524
|
+
|
|
525
|
+
The current patch schema accepts only format 1.1 and separates
|
|
526
|
+
`review_roadmap` from `integrity_correction` authority. Registered claim
|
|
527
|
+
replacements and declined-overlap collateral authority are exact and
|
|
528
|
+
single-use. An integrity issue list grants no write by itself: apply requires a
|
|
529
|
+
separate author sidecar whose explicit input already carries the exact proposed
|
|
530
|
+
patch digest. Apply report 1.3 records the replayed witness and explicitly leaves
|
|
531
|
+
unregistered semantic drift to E6 review. Once E6 reports a drift row, it has no
|
|
532
|
+
ordinary advisory default: `scripts/claim_strength_drift_disposition.py` requires
|
|
533
|
+
one explicit `restore`, `authorize_with_reason`, or `pause` choice per finding;
|
|
534
|
+
only an all-authorized sidecar derives `authorized_to_continue`. The sidecar
|
|
535
|
+
proves finding coverage and artifact binding, not semantic-detection completeness
|
|
536
|
+
or scientific warrant. Patch 1.0 lives only under
|
|
537
|
+
`patch/legacy/v1_0/` with its archived loader.
|
|
538
|
+
|
|
539
|
+
The current #576 `re_review/` family is version 1.1, uses
|
|
540
|
+
`obligation_class`, hard-requires original/revised drafts, roadmap, author
|
|
541
|
+
sidecar, and bundle, and copies
|
|
542
|
+
author fields exactly into Schema 11. Version 1.0 is archived under
|
|
543
|
+
`re_review/legacy/v1_0/`; mixed chains are invalid.
|
|
544
|
+
|
|
545
|
+
Spec: `docs/design/2026-08-10-670-non-ranking-revision-roadmap-spec.md`.
|
|
546
|
+
|
|
547
|
+
## Human-subjects correspondence contract (#668)
|
|
548
|
+
|
|
549
|
+
`human_subjects/committee_correspondence.schema.json` defines the standalone
|
|
550
|
+
`academic-paper revision-coach` committee-correspondence variant. It binds every
|
|
551
|
+
confirmed source comment to one concern record while preserving the entire UTF-8
|
|
552
|
+
letter byte-for-byte, including non-comment material. The contract carries
|
|
553
|
+
multi-label actions, explicit authority/provenance, optional profile enrichment,
|
|
554
|
+
fixed unresolved placeholders, the #665 administrative boundary, and no model
|
|
555
|
+
priority or severity.
|
|
556
|
+
|
|
557
|
+
Validate a bundle with:
|
|
558
|
+
|
|
559
|
+
```bash
|
|
560
|
+
python scripts/check_committee_correspondence.py \
|
|
561
|
+
committee_correspondence/<source-sha12>/concern_tracker.json
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
The checker recomputes file/segment hashes, contiguous byte coverage, exact
|
|
565
|
+
comment-to-concern accounting, source order, full-permutation working views, and
|
|
566
|
+
response-skeleton coverage. Spec:
|
|
567
|
+
`docs/design/2026-08-08-668-committee-correspondence-spec.md`.
|
|
568
|
+
|
|
569
|
+
## Human-subjects authority context (#666)
|
|
570
|
+
|
|
571
|
+
The `human_subjects/` authority family keeps selection explicit and separates three
|
|
572
|
+
closed artifacts:
|
|
573
|
+
|
|
574
|
+
- `irb_context_record.schema.json` — the author-confirmed facts plus exact,
|
|
575
|
+
axis-qualified profile and overlay pins;
|
|
576
|
+
- `authority_profile_registry.schema.json` — curator-owned, versioned, bounded
|
|
577
|
+
profiles and row-local source anchors;
|
|
578
|
+
- `resolved_authority_context.schema.json` — a pointer-only, deterministic
|
|
579
|
+
three-valued applicability trace and downstream gate.
|
|
580
|
+
|
|
581
|
+
V1 has exactly two axes: `review_ethics` and `data_protection`. Institutional and
|
|
582
|
+
funder rules are additive overlays, never a third axis; display precedence cannot
|
|
583
|
+
remove, merge, or satisfy a requirement. The shipped registry demonstrates the
|
|
584
|
+
same contract with bounded US 45 CFR 46, Taiwan Human Subjects Research Act, and
|
|
585
|
+
GDPR research subsets. It is not a completeness, compliance, pathway, exemption,
|
|
586
|
+
or authorization claim.
|
|
587
|
+
|
|
588
|
+
Resolve an explicit context offline, lint the registry alone, or replay-check a
|
|
589
|
+
serialized result before consuming it:
|
|
590
|
+
|
|
591
|
+
```bash
|
|
592
|
+
python scripts/resolve_human_subjects_authority.py \
|
|
593
|
+
--context context.json \
|
|
594
|
+
--registry shared/human_subjects_authority_registry.json \
|
|
595
|
+
--output resolved-authority-context.json
|
|
596
|
+
|
|
597
|
+
python scripts/resolve_human_subjects_authority.py \
|
|
598
|
+
--registry shared/human_subjects_authority_registry.json \
|
|
599
|
+
--check-registry
|
|
600
|
+
|
|
601
|
+
python scripts/resolve_human_subjects_authority.py \
|
|
602
|
+
--context context.json \
|
|
603
|
+
--registry shared/human_subjects_authority_registry.json \
|
|
604
|
+
--check-resolved resolved-authority-context.json
|
|
605
|
+
```
|
|
606
|
+
|
|
607
|
+
The resolver is standard-library-only, opens only named files, evaluates a closed
|
|
608
|
+
Strong-Kleene predicate AST, never infers a jurisdiction, and rejects duplicate
|
|
609
|
+
JSON keys and non-finite numbers. Protocol:
|
|
610
|
+
`shared/references/human_subjects_authority_protocol.md`. Spec:
|
|
611
|
+
`docs/design/2026-08-09-666-human-subjects-authority-contract-spec.md`.
|
|
612
|
+
|
|
613
|
+
## Human-subjects submission-packet manifest (#667)
|
|
614
|
+
|
|
615
|
+
Two closed contracts define the deterministic packet layer:
|
|
616
|
+
|
|
617
|
+
- `shared/contracts/human_subjects/submission_packet_inventory.schema.json` — an author-declared
|
|
618
|
+
list of exact packet-relative files, byte digests, evidence bindings, responsible
|
|
619
|
+
holder roles, declared structure metadata, waiver/exception claims, and
|
|
620
|
+
caller-supplied authorization status; and
|
|
621
|
+
- `shared/contracts/human_subjects/submission_packet_manifest.schema.json` — the pointer-only,
|
|
622
|
+
replay-bound result with five structural status tokens, exact requirement and
|
|
623
|
+
evidence pointers, independent #665 readiness/authorization fields, and the
|
|
624
|
+
fixed non-authorization boundary.
|
|
625
|
+
|
|
626
|
+
The checker consumes a #666 authority result only after exact replay against its
|
|
627
|
+
named context and registry. It filters to `submission_packet` consumer rows and
|
|
628
|
+
uses only `evidence_expected` ids, artifact types, and holders. It never evaluates
|
|
629
|
+
or copies `structured_expectations`, descriptions, or attachment prose; exact
|
|
630
|
+
whole-row bytes are canonical-hashed only for replay integrity. It never infers a
|
|
631
|
+
jurisdiction, grants a waiver, verifies institutional acceptance, or updates the
|
|
632
|
+
caller-supplied authorization value. An evidence row is packet-owned only when
|
|
633
|
+
both its exact obligated actor and exact expected holder occur in the declared
|
|
634
|
+
packet-responsibility roles. Declared version, date, signature, and certificate
|
|
635
|
+
metadata is syntax/internal-consistency only unless a separately versioned,
|
|
636
|
+
source-backed mechanical expectation exists.
|
|
637
|
+
Once the authority and capability gates permit packet observation, every
|
|
638
|
+
inventoried path retains a `DOCUMENTED` or `CONFLICTING` row for
|
|
639
|
+
declared-vs-attached visibility, including extra files not consumed by the
|
|
640
|
+
selected profiles. A closed gate leaves observations empty and does not open the
|
|
641
|
+
packet root. Observation status alone does not change readiness; only an
|
|
642
|
+
applicable packet-owned evidence entry can create a listed packet gap.
|
|
643
|
+
The runtime rejects more than 512 copied consumer scopes, more than 4,096 entry
|
|
644
|
+
or exclusion rows, and any final canonical manifest larger than 8 MiB, ensuring
|
|
645
|
+
that every successful build can be replayed by the same CLI.
|
|
646
|
+
|
|
647
|
+
Build, replay-validate, or render a manifest offline with:
|
|
648
|
+
|
|
649
|
+
```bash
|
|
650
|
+
python scripts/build_submission_packet_manifest.py build \
|
|
651
|
+
--inventory inventory.json \
|
|
652
|
+
--packet-root packet \
|
|
653
|
+
--context context.json \
|
|
654
|
+
--registry shared/human_subjects_authority_registry.json \
|
|
655
|
+
--resolved resolved-authority-context.json \
|
|
656
|
+
--output submission-packet-manifest.json
|
|
657
|
+
|
|
658
|
+
python scripts/build_submission_packet_manifest.py validate \
|
|
659
|
+
--manifest submission-packet-manifest.json \
|
|
660
|
+
--inventory inventory.json \
|
|
661
|
+
--packet-root packet \
|
|
662
|
+
--context context.json \
|
|
663
|
+
--registry shared/human_subjects_authority_registry.json \
|
|
664
|
+
--resolved resolved-authority-context.json
|
|
665
|
+
|
|
666
|
+
python scripts/build_submission_packet_manifest.py render \
|
|
667
|
+
--manifest submission-packet-manifest.json \
|
|
668
|
+
--inventory inventory.json \
|
|
669
|
+
--packet-root packet \
|
|
670
|
+
--context context.json \
|
|
671
|
+
--registry shared/human_subjects_authority_registry.json \
|
|
672
|
+
--resolved resolved-authority-context.json
|
|
673
|
+
```
|
|
674
|
+
|
|
675
|
+
The authority triplet is all-or-none. An intentionally absent triplet produces an
|
|
676
|
+
unresolved manifest without a default profile; a partial or mismatched triplet is
|
|
677
|
+
a contract error. `render` requires the same inputs and exact replay, so a
|
|
678
|
+
self-consistent but forged manifest digest is insufficient.
|
|
679
|
+
|
|
680
|
+
Protocol: `shared/references/submission_packet_manifest_protocol.md`. Spec:
|
|
681
|
+
`docs/design/2026-08-09-667-submission-packet-manifest-spec.md`.
|
|
682
|
+
|
|
683
|
+
## Review-pathway rule trace (#669)
|
|
684
|
+
|
|
685
|
+
Two closed Draft 2020-12 contracts define the determination-adjacent trace:
|
|
686
|
+
|
|
687
|
+
- `shared/contracts/human_subjects/review_pathway_trace_request.schema.json`
|
|
688
|
+
binds caller-owned candidate question labels to an exact, complete partition
|
|
689
|
+
of every selected-profile `pathway_trace` requirement; and
|
|
690
|
+
- `shared/contracts/human_subjects/review_pathway_rule_trace.schema.json`
|
|
691
|
+
carries matched, unmatched, and unresolved predicate work, profile-local
|
|
692
|
+
alternatives, exact fact occurrences, responsible authority roles, exact
|
|
693
|
+
requirement/anchor pointers, the fixed institutional result, and the #665
|
|
694
|
+
footer.
|
|
695
|
+
|
|
696
|
+
The standard-library-only builder first replays the exact #666 context,
|
|
697
|
+
registry, and resolved artifact. It never invents a candidate name, profile,
|
|
698
|
+
predicate, authority anchor, determination, probability, rank, or timeline. All
|
|
699
|
+
selected profiles on both axes are accounted for, but candidates and
|
|
700
|
+
alternatives stay profile-local. An unknown requirement fact remains unresolved;
|
|
701
|
+
a missing profile halts without candidate rows at `JURISDICTION_UNRESOLVED`.
|
|
702
|
+
|
|
703
|
+
Build, replay, render, and lint only explicitly named artifacts:
|
|
704
|
+
|
|
705
|
+
```bash
|
|
706
|
+
python scripts/build_review_pathway_rule_trace.py build \
|
|
707
|
+
--request pathway-trace-request.json \
|
|
708
|
+
--context context.json \
|
|
709
|
+
--registry shared/human_subjects_authority_registry.json \
|
|
710
|
+
--resolved resolved-authority-context.json \
|
|
711
|
+
--output pathway-rule-trace.json
|
|
712
|
+
|
|
713
|
+
python scripts/build_review_pathway_rule_trace.py validate \
|
|
714
|
+
--request pathway-trace-request.json \
|
|
715
|
+
--context context.json \
|
|
716
|
+
--registry shared/human_subjects_authority_registry.json \
|
|
717
|
+
--resolved resolved-authority-context.json \
|
|
718
|
+
--trace pathway-rule-trace.json
|
|
719
|
+
|
|
720
|
+
python scripts/build_review_pathway_rule_trace.py render \
|
|
721
|
+
--request pathway-trace-request.json \
|
|
722
|
+
--context context.json \
|
|
723
|
+
--registry shared/human_subjects_authority_registry.json \
|
|
724
|
+
--resolved resolved-authority-context.json \
|
|
725
|
+
--trace pathway-rule-trace.json \
|
|
726
|
+
--output pathway-rule-trace.md
|
|
727
|
+
|
|
728
|
+
python scripts/check_review_pathway_output.py \
|
|
729
|
+
--trace-json pathway-rule-trace.json \
|
|
730
|
+
--rendered pathway-rule-trace.md
|
|
731
|
+
```
|
|
732
|
+
|
|
733
|
+
The banned-output lint is surface-scoped to those named generated files and
|
|
734
|
+
permits a pathway term only in the exact candidate grammar. Successful replay or
|
|
735
|
+
lint never changes a readiness, authorization, acceptance, verdict, checkpoint,
|
|
736
|
+
or workflow gate. Protocol:
|
|
737
|
+
`shared/references/review_pathway_rule_trace_protocol.md`. Spec:
|
|
738
|
+
`docs/design/2026-08-11-669-review-pathway-rule-trace-spec.md`.
|
|
739
|
+
|
|
740
|
+
## Authority-profile content-coverage advisory (#681)
|
|
741
|
+
|
|
742
|
+
`shared/contracts/human_subjects/content_coverage_advisory.schema.json` defines
|
|
743
|
+
the closed final `content-coverage-advisory/1.0` carrier. It consumes a #667
|
|
744
|
+
manifest only after exact replay against the named inventory, packet root,
|
|
745
|
+
#666 context, authority registry, and resolved context. It then binds explicit
|
|
746
|
+
evaluator judgments to exact `structured_expectations[]` pointers and exact
|
|
747
|
+
session-held artifact strings through `evidence-row/1.1` rows. The standard
|
|
748
|
+
library finalizer is `scripts/build_content_coverage_advisory.py`.
|
|
749
|
+
|
|
750
|
+
The output layer is always `LLM-ADVISORY`, and its independent field is
|
|
751
|
+
`advisory_coverage_status`. The finalizer copies deterministic packet status,
|
|
752
|
+
readiness, caller-supplied authorization, institutional-acceptance boundary,
|
|
753
|
+
authority/evidence pointers, and digests without changing them. A structural
|
|
754
|
+
gap, external dependency, or waiver/exception boundary cannot be converted into
|
|
755
|
+
a semantic missing-element finding. Applicability-false requirements remain
|
|
756
|
+
excluded, and every profiled structured expectation is either explicitly
|
|
757
|
+
checked or explicitly `not_checked`; missing session content never becomes an
|
|
758
|
+
implicit negative result.
|
|
759
|
+
An open authority/capability gate with an explicitly unprovided overlay
|
|
760
|
+
selection preserves each selected base requirement as
|
|
761
|
+
`APPLICABILITY_UNRESOLVED` without inspecting content; a fully closed gate has
|
|
762
|
+
no exact requirement to report and is rejected.
|
|
763
|
+
|
|
764
|
+
The final carrier is deliberately marked `evaluation_status: UNMEASURED`.
|
|
765
|
+
UNMEASURED is not a scored measurement row, and this feature makes no accuracy,
|
|
766
|
+
coverage-improvement, or efficacy claim. The finalizer and renderer open only
|
|
767
|
+
named inputs, perform no directory scan or retrieval, and invoke no model/API;
|
|
768
|
+
the draft judgments and positive-row capture timestamps are caller-supplied
|
|
769
|
+
advisory observations. Rendering first replays the deterministic manifest and
|
|
770
|
+
every source-bound evidence row, so a self-consistent digest alone is
|
|
771
|
+
insufficient. The carrier retains all rows, while one render call exposes only
|
|
772
|
+
one explicit page of at most 25 evidence rows with deterministic navigation;
|
|
773
|
+
there is no render-all mode.
|
|
774
|
+
|
|
775
|
+
Protocol:
|
|
776
|
+
`shared/references/authority_content_coverage_advisory_protocol.md`. Spec:
|
|
777
|
+
`docs/design/2026-08-09-681-authority-content-coverage-advisory-spec.md`.
|
|
778
|
+
|
|
779
|
+
## Tortured-phrase screening contracts (#660)
|
|
780
|
+
|
|
781
|
+
The #660 family is local, hash-bound, and advisory-only:
|
|
782
|
+
|
|
783
|
+
- `audit/tortured_phrase_snapshot.schema.json` defines the closed canonical
|
|
784
|
+
`literal` / `all` / `any` / `near` AST and rule-level `exclude_if` grammar;
|
|
785
|
+
- `audit/tortured_phrase_snapshot_manifest.schema.json` binds the exact raw
|
|
786
|
+
snapshot bytes, source/version/as-of metadata, preprocessing disclosure,
|
|
787
|
+
zero unsupported rules, and rights; and
|
|
788
|
+
- `audit/tortured_phrase_advisory.schema.json` defines the replay-bound
|
|
789
|
+
own-draft `HEURISTIC-ADVISORY` / `UNMEASURED` transcript.
|
|
790
|
+
|
|
791
|
+
`scripts/tortured_phrase_screening.py` accepts only explicitly named local
|
|
792
|
+
snapshot/manifest and input paths. A snapshot is either user supplied or a
|
|
793
|
+
repository-authored synthetic fixture. ARS includes no native PPS importer,
|
|
794
|
+
fetch option, or redistributed PPS list content, and this path invokes no
|
|
795
|
+
model, external API, human/model judge, ambient clock, file time, or network
|
|
796
|
+
time. Snapshot SHA-256 covers the exact UTF-8 file bytes; required timestamps
|
|
797
|
+
are explicit arguments.
|
|
798
|
+
|
|
799
|
+
The same runtime can return a new passport copy carrying
|
|
800
|
+
`bibliographic-integrity-signal/1.2` rows for each cited title and abstract
|
|
801
|
+
surface. A missing abstract is an explicit `not_checked` / `unresolved`
|
|
802
|
+
`ABSTRACT_MISSING` row; a present whitespace-only abstract uses
|
|
803
|
+
`ABSTRACT_EMPTY`. Consumers remain read-only and the enricher refuses
|
|
804
|
+
in-place output. A detected row is only a phrase-list match requiring review;
|
|
805
|
+
a zero match is not a clean certificate. No result establishes origin,
|
|
806
|
+
paper-mill production, contextual validity, or accuracy, and no result creates
|
|
807
|
+
a marker, terminal gate, replacement text, or automatic rewrite. All corpus
|
|
808
|
+
rows render in the one canonical `Bibliographic Integrity Advisories` section.
|
|
809
|
+
|
|
810
|
+
Spec: `docs/design/2026-08-10-660-tortured-phrase-screening-spec.md`.
|
|
811
|
+
|
|
812
|
+
## Cross-document consistency advisory (#672)
|
|
813
|
+
|
|
814
|
+
The #672 family is a standalone replay-bound advisory:
|
|
815
|
+
|
|
816
|
+
- `passport/preregistration_artifact.schema.json` defines the persistent
|
|
817
|
+
`preregistration-artifact/1.0` handoff sidecar;
|
|
818
|
+
- `audit/cross_document_source_manifest.schema.json` binds exactly the accepted
|
|
819
|
+
manuscript plus the exact sidecar projection;
|
|
820
|
+
- `audit/cross_document_consistency_advisory_draft.schema.json` accepts the
|
|
821
|
+
closed caller-supplied semantic observations;
|
|
822
|
+
- `evidence/evidence_row_v1_2.schema.json` binds their exact bilateral or
|
|
823
|
+
trilateral evidence; and
|
|
824
|
+
- `audit/cross_document_consistency_advisory.schema.json` defines the canonical
|
|
825
|
+
final `LLM-ADVISORY` / `UNMEASURED` carrier.
|
|
826
|
+
|
|
827
|
+
Only `scripts/build_cross_document_consistency_advisory.py` may build or update
|
|
828
|
+
the preregistration sidecar. The non-shell research architect supplies only the
|
|
829
|
+
explicit caller status and companion handle. Academic-paper intake and every
|
|
830
|
+
pipeline handoff validate and carry the same sidecar and, when provided, the
|
|
831
|
+
same companion bytes unchanged. The repository template is guidance, not
|
|
832
|
+
evidence.
|
|
833
|
+
|
|
834
|
+
Finalization replays the sidecar, exact two-artifact manifest, accepted draft,
|
|
835
|
+
optional preregistration companion, and every quote or checked scope before
|
|
836
|
+
consuming observations. Methods absence requires an exact named counterpart
|
|
837
|
+
scope. An undisclosed preregistration deviation requires a third exact manuscript
|
|
838
|
+
disclosure-scope witness. Missing or unavailable inputs cannot become a
|
|
839
|
+
no-listed result.
|
|
840
|
+
|
|
841
|
+
At the one mandatory Stage-5 entry checkpoint, #660 runs first and #672 second
|
|
842
|
+
against the same accepted-draft artifact ID/SHA-256. Their carriers and failure
|
|
843
|
+
semantics stay separate. #672 failure writes no output and produces only bounded
|
|
844
|
+
`ADVISORY_UNAVAILABLE:<CODE>`; neither advisory changes Stage 4.5 or Stage-5
|
|
845
|
+
routing. Any manuscript revision stales both and requires both to rerun.
|
|
846
|
+
|
|
847
|
+
The final carrier has no score, pass/fail, gate, readiness, authorization,
|
|
848
|
+
rewrite, ClaimIntent, consent/protocol duplicate, or clean-document meaning.
|
|
849
|
+
Protocol: `shared/references/cross_document_consistency_advisory_protocol.md`.
|
|
850
|
+
Spec: `docs/design/2026-08-10-672-cross-document-consistency-advisory-spec.md`.
|
|
851
|
+
|
|
852
|
+
## Audit artifact contracts (v3.6.7 Step 6)
|
|
853
|
+
|
|
854
|
+
The `audit/` directory carries the three wrapper-emitted artifact schemas that pair
|
|
855
|
+
with the passport-side `audit_artifact_entry.schema.json` above. Together they form
|
|
856
|
+
the four-schema contract that `scripts/run_codex_audit.sh` (Phase 6.1) writes and the
|
|
857
|
+
orchestrator agent reads at every per-agent audit gate.
|
|
858
|
+
|
|
859
|
+
- `audit/audit_jsonl.schema.json` — Layer 2 evidence: per-row schema for the codex CLI
|
|
860
|
+
0.125+ `--json` event stream (`thread.started` / `turn.started` / `item.completed` /
|
|
861
|
+
`turn.completed` / `error`). One JSONL line per event row.
|
|
862
|
+
- `audit/audit_sidecar.schema.json` — Layer 3 evidence: runner / timing / process /
|
|
863
|
+
stream / prompt metadata. Cross-file rules linking sidecar fields to JSONL events,
|
|
864
|
+
on-disk files, and passport entries (B1-B7 in spec §3.7 family B) are enforced by
|
|
865
|
+
`scripts/check_audit_artifact_consistency.py` (Phase 6.3), not by this schema alone.
|
|
866
|
+
- `audit/audit_verdict.schema.json` — verdict file shape (PASS / MINOR / MATERIAL /
|
|
867
|
+
AUDIT_FAILED). The artifact orchestrator parses for ship/block decisions; cross-field
|
|
868
|
+
consistency with `finding_counts` and `failure_reason` is lint-enforced per
|
|
869
|
+
spec §3.7 A1 / A2 / A5 / A6.
|
|
870
|
+
|
|
871
|
+
Spec: `docs/design/2026-04-30-ars-v3.6.7-step-6-orchestrator-hooks-spec.md` §3.
|
|
872
|
+
|
|
873
|
+
## Review target contracts (#683)
|
|
874
|
+
|
|
875
|
+
The `review_target/` family keeps target selection author-owned and separates it
|
|
876
|
+
from deterministic criterion resolution:
|
|
877
|
+
|
|
878
|
+
- `review_target_declaration.schema.json` — the closed author-confirmed discipline,
|
|
879
|
+
exact venue/track/contribution-type (or explicit no-venue fallback), overlay,
|
|
880
|
+
selection, precedence, and as-of input;
|
|
881
|
+
- `criteria_registry.schema.json` — the versioned four-part authority registry with
|
|
882
|
+
criterion provenance, applicability/exclusions, freshness, and blocking policy;
|
|
883
|
+
- `review_criteria_source_receipt.schema.json` — the closed discriminated
|
|
884
|
+
receipts for mutable-web semantic snapshots and immutable Git repository-head
|
|
885
|
+
verification;
|
|
886
|
+
- `review_target_context.schema.json` — the pointer-only resolved profile, three
|
|
887
|
+
independent outcome dimensions, parallel conflicts, fallback state, and stable
|
|
888
|
+
digests.
|
|
889
|
+
|
|
890
|
+
`shared/review_criteria_registry.json` ships a bounded source-backed proving set
|
|
891
|
+
for MSR 2027 Technical Papers Full Papers and ACM SIGSOFT's General and
|
|
892
|
+
Repository Mining standards, alongside the field-general fallbacks. This is not
|
|
893
|
+
a coverage claim: targets without an exact official profile remain unresolved,
|
|
894
|
+
and the SIGSOFT rows remain advisory unless venue adoption is separately
|
|
895
|
+
sourced. The executable exact-target declaration and hermetic source/digest
|
|
896
|
+
checks live under `scripts/fixtures/review_target_context/` and
|
|
897
|
+
`scripts/test_resolve_review_target_context.py`; the dated source audit is
|
|
898
|
+
`audits/575-source-backed-proving-set-2026-08-24.md`. Mutable-page and
|
|
899
|
+
immutable-repository verification receipts live under
|
|
900
|
+
`shared/review_criteria_sources/`. The fixture models a hypothetical
|
|
901
|
+
author-confirmed declaration; it is not a real-manuscript attestation. The
|
|
902
|
+
registry release preserves its id, increments its version, and visibly rotates
|
|
903
|
+
V1 resolved digests so consumers must explicitly rebind.
|
|
904
|
+
|
|
905
|
+
Resolve a declaration and optionally emit the Phase 0/1 Target Criteria Brief:
|
|
906
|
+
|
|
907
|
+
```bash
|
|
908
|
+
python scripts/resolve_review_target_context.py \
|
|
909
|
+
--context declaration.json \
|
|
910
|
+
--output review-target-context.json \
|
|
911
|
+
--brief target-criteria-brief.md
|
|
912
|
+
```
|
|
913
|
+
|
|
914
|
+
The resolver is standard-library-only and opens only the named context and registry
|
|
915
|
+
inputs. It never reads manuscript content, infers a venue, averages interdisciplinary
|
|
916
|
+
criteria, or applies adaptive numeric weights. Spec:
|
|
917
|
+
`docs/design/2026-08-08-683-review-target-context-spec.md`.
|
|
918
|
+
|
|
919
|
+
## Review criteria consumer binding (#684)
|
|
920
|
+
|
|
921
|
+
The #684 layer binds the #683 context across the three actual consumer classes
|
|
922
|
+
without copying criterion prose or inventing a second resolver:
|
|
923
|
+
|
|
924
|
+
- `review_target/review_criteria_binding_manifest.schema.json` — the closed,
|
|
925
|
+
pointer-only manifest with exact formative, internal-evaluator, and
|
|
926
|
+
five-seat external-panel receipt roles;
|
|
927
|
+
- `review_target/constructive_review_findings.schema.json` — the closed
|
|
928
|
+
Critical/Major finding sidecar with exact criterion pointers, typed
|
|
929
|
+
manuscript anchors, separate scholarly/target relevance, honest remedies,
|
|
930
|
+
costs/trade-offs, and author-choice boundaries.
|
|
931
|
+
|
|
932
|
+
Build, record, render markers, and validate with
|
|
933
|
+
`scripts/review_criteria_binding.py`. The tool reads only explicit paths,
|
|
934
|
+
hashes artifacts itself, and has no model/API/network/clock/ambient-scan path.
|
|
935
|
+
The manifest is workflow-conformance authority only: it never supplies a
|
|
936
|
+
severity, verdict, checkpoint, or author triage. Operational protocol:
|
|
937
|
+
`shared/references/review_criteria_consumer_protocol.md`. Frozen spec:
|
|
938
|
+
`docs/design/2026-08-11-684-review-criteria-consumer-binding-spec.md`.
|