Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ boundaries above remain the target modular MSA architecture.
| `tepp_simulation` | known-truth temporal/event data generation |
| `validation_core` | RMSE, bias, coverage, graph, and Monte Carlo metrics |
| `tepp_api` | versioned DTO, schema, and export contracts |
| `episode_membership` | event-time episode membership containment gate |
| `location_membership` | location is not entity identity and not a language channel |
| `prompt_source` | prompt boilerplate is not unique latent content and not stopword deletion |
| `corpus_background` | corpus-background wording is not unique latent content and not stopword deletion |
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ All notable changes to TEPP are documented here. The format follows Keep a Chang

### Added

- `episode_membership` identity gate: a document's episode membership cannot
start before or end after the episode event-time interval; recovered
containment flags are compared with known truth (ADR 0003).
- `semantic_core` binds exact `evidence_core` source spans as semantic units. Language profiles are `unresolved` or a primary ISO 639 subtag with an IANA-registered ISO 3166-1 alpha-2 or UN M.49 region (RFC 5646; IANA File-Date 2026-08-08); private-use and unknown regions fail closed. Unresolved metadata keeps the caller-supplied Korean `측정` span and does not retokenize. `SemanticIdentity::from_language_tag` fails closed. Korean and English report sentences remain distinct units. Not concept alignment, not invariance, not a topic estimator (ADR 0020; issue #168). The APA register cites RFC 5646 once, in the Unicode/language-tags section; the slice-specific note remains `docs/research/span-grounded-semantic-units.md`.
- `corpus_background` identity gate: corpus-level background wording is not unique latent content or a state transition; recovery tests distinguish background evidence from unique content.
- `modality_source` identity gate: non-lexical modality is not unique lexical content or a state transition; recovery tests keep modality evidence distinct from unique content.
Expand Down
103 changes: 54 additions & 49 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ members = [
"crates/interpretation_gateway",
"crates/model_selection",
"crates/checkpoint_authority",
"crates/episode_membership",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 episode_membership listed twice in workspace manifest

crates/episode_membership is added to members while the same path already exists a couple lines below, and the same duplication is repeated in default-members. The crate is registered twice in both lists.

Suggested change
"crates/episode_membership",
"crates/compute_backend",
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

]
default-members = [
"crates/evidence_core",
Expand Down Expand Up @@ -99,6 +100,7 @@ default-members = [
"crates/interpretation_gateway",
"crates/model_selection",
"crates/checkpoint_authority",
"crates/episode_membership",
]

[workspace.package]
Expand Down
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,23 @@ evidence, six-clock temporal values, event mentions/instances, relations,
membership, persistence, splits, simulation, validation, API DTOs, and the
predicted-versus-observed promotion gate.
This branch establishes the Rust workspace, quality-gate foundation, and the
longitudinal within/between decomposition capability. The eleven bounded crates
longitudinal within/between decomposition capability. The workspace bounded crates
compile independently. `longitudinal_core` exposes within/between decomposition
and component RMSE APIs; the remaining crates expose no placeholder production
APIs, and domain behavior for them begins in Task 2 with immutable evidence
identifiers and source records.
This branch establishes the Task 1 Rust workspace and quality-gate foundation.
The twelve bounded crates compile independently but intentionally expose no
The eleven bounded crates compile independently; Task 1 includes the
The workspace bounded crates compile independently but intentionally expose no
The workspace bounded crates compile independently; Task 1 includes the
implemented `encrypted_mapping` crate with AES-256-GCM sealing and
purpose-bound opening, while the remaining domain behavior begins in Task 2
with immutable evidence identifiers and source records.
The eleven bounded crates compile independently. `derived_sensitivity` inherits
The workspace bounded crates compile independently. `derived_sensitivity` inherits
source Restricted/Internal classes onto topic, factor, and relation artifacts
and fails closed on unknown kinds; derivation and blanket PII masking are not
declassification. Other crates still begin domain behavior in Task 2 with
immutable evidence identifiers and source records.
The eleven bounded crates compile independently but intentionally expose no
The workspace bounded crates compile independently but intentionally expose no
Comment on lines +43 to +55

@devin-ai-integration devin-ai-integration Bot Aug 25, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 Info: Dangling duplicated README paragraphs

README.md gains several truncated, duplicated sentence fragments (e.g. "The workspace bounded crates compile independently but intentionally expose no") from the same merge that duplicated the crate registrations. Documentation cleanup, not a code bug.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

placeholder production APIs. Domain behavior begins in Task 2 with immutable
evidence identifiers and source records.

Expand All @@ -44,6 +44,7 @@ crates/corpus_split
crates/tepp_simulation
crates/validation_core
crates/tepp_api
crates/episode_membership
Comment thread
coderabbitai[bot] marked this conversation as resolved.
crates/prompt_source
crates/corpus_background
crates/modality_source
Expand Down
17 changes: 17 additions & 0 deletions crates/episode_membership/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[package]
name = "episode_membership"
description = "Episode membership cannot escape the episode event-time interval."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
readme.workspace = true
keywords.workspace = true
categories.workspace = true
publish = false

[lints]
workspace = true
Loading
Loading