Skip to content
ContextualWisdomLabPublic

About

TEPP is the Temporal Event Psychometrics Platform: a multilingual, temporal, relational measurement system whose statistical and psychometric arithmetic is implemented in Rust.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

944 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TEPP

TEPP is the Temporal Event Psychometrics Platform: a multilingual, temporal, relational measurement system whose statistical and psychometric arithmetic is implemented in Rust.

Current implementation state

This branch preserves the protected-main Rust workspace and quality-gate foundation. The workspace crates expose tested contracts only: immutable evidence identities and exact spans, six-clock temporal values with Allen algebra and cutoff eligibility, event mentions/instances with evidence-layer intelligence gates, a forward-only relation graph, cross-classified membership, bitemporal persistence, leakage-safe corpus splits, simulation manifests, claim-promotion validation, API DTOs, the purpose-bound privacy envelope, and longitudinal within/between decomposition. It adds the independently usable analysis_engine vertical slice: bounded cutoff-safe readiness work that emits a digest-bound terminal artifact or a redacted no-eligible-evidence result. That slice is active-PR evidence, not a psychometric estimator or a release claim. The current workspace contains 50 independently documented Rust crates. Each crate exposes a bounded, tested contract for evidence, temporal semantics, event and relation reasoning, membership, persistence, simulation, validation, API exchange, compute planning, or evidence-grounded interpretation. Numerical and psychometric authority remains on the CPU f64 reference path; streamed accelerator plans must preserve the full observation set and fail closed to the reference path when resources or validation are insufficient. The repository currently implements 54 independently documented crates rather than a full commercial release. The implemented crates include topic measurement, the analysis engine, and psychometric input/recovery gates; they do not claim a complete commercial estimator, operator workspace, or supported release.

  • topic_measurement: the first production topic-measurement crate. It estimates topic proportions from observed counts, maps those proportions into additive log-ratio coordinates, and keeps posterior uncertainty attached so later psychometric models do not treat raw topic proportions as ordinary Euclidean indicators.
  • analysis_engine: the first production analysis-run crate. It assembles one cutoff-safe run from a validated design, documented evidence graph, and estimator contract; persists the run with the six TEPP clocks; and emits a typed terminal result. The crate does not claim buyer-visible product completeness.
  • psychometric_core: validated statistical-recovery APIs on already-mapped coordinates. It does not implement a full ESEM/DSEM estimator.
crates/analysis_engine
crates/assertion_clock
crates/available_clock
crates/checkpoint_authority
crates/citation_edge
crates/compute_backend
crates/copied_text
crates/copy_identity
crates/corpus_background
crates/corpus_split
crates/cutoff_clock
crates/derived_sensitivity
crates/document_clocks
crates/encrypted_mapping
crates/episode_membership
crates/event_clock
crates/event_core
crates/evidence_core
crates/inferred_status
crates/intake_authorization
crates/interpretation_gateway
crates/location_membership
crates/longitudinal_core
crates/membership_core
crates/membership_target
crates/modality_source
crates/model_selection
crates/network_analysis
crates/operational_log
crates/outcome_order
crates/payload_bound
crates/persistence_postgres
crates/prediction_contradiction
crates/prompt_source
crates/provider_receipt
crates/psychometric_core
crates/psychometric_fit
crates/relation_absence
crates/relation_graph
crates/retrospective_edge
crates/revision_order
crates/role_contradiction
crates/semantic_core
crates/service_tls
crates/stopword_deletion
crates/style_source
crates/subevent_containment
crates/summarizes_edge
crates/support_edge
crates/system_clock
crates/temporal_core
crates/tepp_api
crates/tepp_simulation
crates/topic_lineage
crates/topic_measurement
crates/validation_core

Local verification

python3 scripts/check_workspace_contract.py
python3 scripts/check_docstrings.py
python3 -m coverage run --branch -m unittest discover -s tests/quality -p 'test_*.py'
python3 -m coverage report --fail-under=100 --show-missing

cargo fmt --all -- --check
cargo check --workspace --all-targets --all-features
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo nextest run --workspace --all-features
cargo test --doc --workspace --all-features
cargo doc --workspace --all-features --no-deps
cargo deny check

Stable Rust line coverage is measured with cargo-llvm-cov. Branch coverage is measured in a separately pinned nightly lane because Rust branch coverage remains an unstable compiler capability. A zero denominator is reported explicitly for any crate whose lane still ships no executable behavior; it must never conceal uncovered production behavior.

Offline topic-lineage CLI

cargo run -p analysis_engine --bin tepp-topic-lineage -- examples/topic_lineage_cli_input_v1.json

The binary reads one bounded tepp.topic_lineage_cli_input.v1 file, excludes documents, memberships, and relations that were not available at the request knowledge cutoff, refuses causes/intervenes_on relations, runs the CPU f64 reference topic-lineage estimator with the supplied topic count and seeds, and prints one tepp.topic_lineage_cli_output.v1 JSON line. The output is fitted topic association, not causation. Its association strength is a MAP-fitted proportion, not a posterior mean or uncertainty probability. It is not a durable analysis run, calibrated recovery evidence, or GPU parity evidence. Input must resolve to a regular file (regular-file symlinks are allowed). Directories, FIFOs, devices, and sockets return redacted io diagnostics with exit 5; Unix opens are nonblocking and recheck the opened file type to reject FIFO replacement races without waiting for a writer. These checks are not a general filesystem I/O deadline. See docs/API_CONTRACT.md for the field and exit-status contract.

Centralized CI contract source

.github/workflows/ci.yml dispatches the reviewed central workflow ContextualWisdomLab/.github/.github/workflows/tepp-rust-foundation-ci.yml at 3136c940235a3762b804bd99eb20fbe129e70c06. The documentation caller .github/workflows/docs-quality.yml uses the same pin for tepp-documentation-quality.yml. These suppliers provision private Python environments across all five jobs and hash-verify official Rustup 1.29.1 in the three Rust jobs. Each Rust job owns fresh Cargo/Rustup namespaces; quality tools are installed with explicit private roots and locked version pins, never restored from cached executable archives or skipped on cache hits. The LLVM plugin version probe includes its required llvm-cov argv. Executable jobs remain supplier-owned; frozen files under tests/fixtures/central-ci/ are evidence only, not installed workflows. Local source-custody tests do not establish native runner bootstrap, hosted execution, or GitHub App approval.

scripts/effective_ci_source.py resolves the caller and supplier offline for the workspace, coverage diagnostics, and shared-runner contract checks. It verifies the exact reviewed caller SHA-256, the original Git commit object and each tree on the supplier path, the workflow blob identity, and its independent SHA-256. Missing evidence, changed pins, disabled dispatch, extra caller jobs, or modified supplier bytes fail closed. It needs neither Git metadata nor network access. The original coverage, reproducible toolchain, PostgreSQL service/test, and runner-isolation contracts remain enforced; tooling coverage includes the resolver at the unchanged 100% statement/branch threshold.

To update the supplier, review the new immutable central commit and executable body, export its original commit/tree/blob objects, and update the reviewed pin and digest constants together with positive and negative contract controls. Never hand-author supplier fixtures, substitute a moving branch, or resolve from live CI during static tests. These local source checks do not prove hosted jobs ran successfully. The inherited hourly schedule contract is separate and is not waived by this resolver.

Normative documents

  • AGENTS.md
  • ARCHITECTURE.md
  • docs/product/prd-v0.4-approved.md
  • docs/superpowers/plans/2026-08-05-temporal-event-foundation.md
  • docs/research/standards-and-literature.md

No release, production-readiness, GPU, database, or statistical-recovery claim is made by this foundation slice.

The active stacked analysis-engine slice adds a bounded executable readiness path from an accepted run to a digest-bound terminal artifact. It is not yet implemented-main and does not replace scientific estimator contracts. Validated statistical-recovery APIs exist only inside psychometric_core: OLS loading recovery on already-mapped coordinates, posterior-draw point estimates, the Rubin total-variance identity T = U_bar + (1 + 1/m) B, CWC/event-time/ contextual recovery maps, and two-group OLS latent-mean comparison gated behind typed strong/strict invariance evidence (LatentMeanComparisonEvidence; metric, weak, or configural status cannot reduce to a passing flag). No release, production-readiness, GPU, or database claim is made by this foundation slice, and no crate yet implements a full ESEM/DSEM estimator (the two-group OLS invariance gate is not MGCFA).

About

TEPP is the Temporal Event Psychometrics Platform: a multilingual, temporal, relational measurement system whose statistical and psychometric arithmetic is implemented in Rust.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages