Soranoha

公開可否の判断 / Assessment evaluation

Assessment source records describe owner-reviewed Aozora Bunko reliance declarations and independent findings with their precise premises. The evaluator regenerates the publication snapshot using the kernel's CAS and constructive traces. The committed source accepts reliance for reviewed corpus editions recorded in soranoha/data/assessment-source.json. The publication policy requires applicable assessment evidence; other candidates remain quarantined.

The research outputs are TEI and visible-body plaintext. The rights snapshot describes admission evidence. Transcription and markup fidelity are covered separately by source accountability and review exports.

Prepare Aozora Bunko reliance evidence

The default admission basis is reliance on Aozora Bunko’s published, work-level copyright-expired classification for the exact edition, scoped to Japan. It is an attributed upstream assertion, not Soranoha’s independent public-domain finding about every contributor. Concrete exceptions or conflicting applicable reviewed findings prevent reliance.

Set these paths to absolute paths, then capture a draft for 蜘蛛の糸:

nix run .#soranoha-kernel -- aozora-reliance-prepare \
  --aozora-root "$CORPUS_CHECKOUT" \
  --evidence-root "$EVIDENCE_ROOT" \
  --slug 000092_000879 \
  --out "$DRAFT_SOURCE"

To preserve an existing source’s other records, also pass --assessment-source "$EXISTING_SOURCE". Preparation refreshes only the selected edition’s declaration and preserves any recorded exception; clearing an exception requires an explicit source edit. Its observation date is the capture’s UTC date; --as-of optionally supplies the owner decision date, which cannot precede observation. Preparation writes a draft and retained evidence; it neither commits acceptance nor publishes.

Capture retains the official catalog, card, ZIP and applicable rules as exact response bytes at $EVIDENCE_ROOT/<sha256>. Evaluation verifies those bytes and checks the live official catalog’s 作品著作権フラグ, the card’s edition link, the canonical file bundle and the approved rules digest. Being present in the Git archive is insufficient. Missing, protected, changed or unreachable official evidence makes that declaration unavailable; archived evidence cannot substitute for a current check. ZIP repacking and unrelated catalog or card edits preserve applicability when the relevant assertion, link and canonical bundle remain the same.

Review the generated declaration’s basis and dates, then evaluate it using the command below with --assessment-source "$DRAFT_SOURCE" --evidence-root "$EVIDENCE_ROOT". To record a concrete unresolved exception, set that declaration’s exception to a nonempty explanation. Remove or revise declarations through the owner-controlled source workflow.

Evidence supporting publication is retained indefinitely, separately from disposable computation caches. Soranoha accepts an explicit evidence directory and checks digests. The overall NixOS configuration chooses its storage path and owns backup and recovery. Raw retained evidence stays internal; a public snapshot carries digest references to it rather than a download endpoint.

Evaluate a reviewed source

From the repository root, using a clean Git checkout of the corpus, set ASSESSMENT_STORE, CORPUS_CHECKOUT, EVIDENCE_ROOT, and SNAPSHOT_OUTPUT to absolute paths. The Nix wrapper changes directory to its store copy before launching Clojure, so input and output paths must not depend on the caller’s working directory:

nix run .#soranoha-kernel -- assessment-evaluate \
  --root "$ASSESSMENT_STORE" \
  --aozora-root "$CORPUS_CHECKOUT" \
  --assessment-source "$PWD/soranoha/data/assessment-source.json" \
  --evidence-root "$EVIDENCE_ROOT" \
  --as-of 2026-09-06 \
  --out "$SNAPSHOT_OUTPUT"

The Nix entry point supplies the toolchain identity. Direct library or Clojure CLI callers must supply it themselves. assessment-evaluate accepts draft inputs and never publishes. Retained-evidence observations also require --evidence-root, an explicit directory containing the retained bytes at their declared relative paths; digests are checked before evaluation. Evidence retention is independent of the disposable computation store.

Author source records against the closed schema. soranoha.assessment.records/encode returns canonical bytes; decoding refuses unknown fields, duplicate keys and noncanonical encoding. Authored finding IDs must not use the reserved jp-conservative-term/ rule namespace. Synthetic evaluator fixtures (soranoha/test/soranoha/assessment/evaluate_test.clj) illustrate records and premise fingerprints. The real-edition dossier (soranoha/data/dossiers/README.md) records observations rather than findings.

Dependency and authority boundaries

A fact is scoped by subject, predicate and jurisdiction. Person death years can be shared; contribution attribution and wartime-addition findings belong to the specific contribution. Catalog rows supply candidates, never the complete rights-relevant set. A reviewed contribution-set finding may discharge listed roles and add omitted identities. Minted identities use a disjoint namespace and their evidence must be consumed explicitly.

Premises default to evidence-version. A value or set-membership projection requires an explicit rationale and retains only the dependency it declares. Evaluation separates semantic identity from basis identity. A corrected citation updates provenance while unchanged conclusions can reuse downstream semantic computations. Source capture reads current checkout observations; changed or removed inputs make their actual dependent findings unavailable. Independent facts retain their identities and traces.

Effective dates belong to findings. Derived dates are at least the latest consumed premise date; --as-of validates applicability without becoming every fact's identity. The implemented sufficient expiry rule covers the adopted Japanese assessment model for dates from 2018-12-29 onward. Failure to establish that rule does not establish copyright protection. Unsupported historical or rights cases remain not-evaluated; explicit reviewed status findings may record in-copyright or undetermined, but public-domain is derived only from the established rule. Conflicting applicable justifications, cycles and dangling controls are structural errors; unavailable support produces not-evaluated snapshot facts. Publication is authorized only by this evaluator's closed acceptance rules over recorded findings.

Review and commit the accepted source and regenerated snapshot before release. The release CLI requires source and snapshot bytes committed in the same Git checkout revision. The operator's owner-controlled Git workflow supplies acceptance authority; the assessor string is attribution, not an authenticated signature. After validating all file inputs, preflight captures local source identities. Before publication, the release evaluates current observations, byte-compares the regenerated snapshot, checks the consumed corpus content, performs current official applicability checks for reliance declarations, and rechecks committed assessment bytes. Any changed evaluation refuses the captured release. Unrelated owner-file changes do not invalidate the assessment.

The scheduled release workflow supplies the runner’s UTC date with --as-of "$(date -u +%F)". The date validates applicability; it does not stamp fact values or cause daily snapshot churn. A finding dated later than that UTC date fails with future-assessment-finding; a new JST calendar date can lead UTC by up to nine hours. Reproduce a particular evaluation with its original --as-of, not just its input revision. The scheduled release passes no --evidence-root of its own: it reaches the command as an evidence-root key of the deployment configuration the workflow names with --deployment, which is where the mounted directory has to be recorded before retained evidence or reliance declarations are used in a scheduled release. A source carrying reliances without one fails with missing-evidence-root.

Assessment-owned source records, dossiers, publication snapshot, and policy live in soranoha/data/ and are consumed through explicit paths. The same-revision check binds the assessment source and snapshot within the monorepo; the policy is validated separately.

The toolchain identity covers the runtime and dependency environment, not Soranoha source code. Change the assessment rule-version whenever its legal rule or computation changes; that version identifies both the rule stage and its recorded basis. Change reliance-version when reliance eligibility or payload computation changes. Change assessment-fact-version when fact serialization or meaning changes. Keep these versions local to the affected stage so unrelated program changes preserve reusable results.

The build/render graph remains separate from assessment rules. All sources emit snh-assessment-snapshot/2, whose candidates distinguish independent assessments from edition-level reliance. The snapshot carries the attributed assertion and retained-evidence digests; it does not invent contributor findings. The manifest and signature formats remain unchanged. Assessment source files remain internal inputs.