Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
d25df8e
fix(ci): fail closed to explicitly free orchestrator routes
seonghobae Sep 2, 2026
feb3399
test(ci): lock free-only discovered-agent admission
seonghobae Sep 2, 2026
a63c454
docs(ci): document free-only hourly route admission
seonghobae Sep 2, 2026
68b9c6c
docs(adr): bind hourly gateway to explicit free admission
seonghobae Sep 2, 2026
aef7181
test(docs): preserve scientific queue lineage markers
seonghobae Sep 2, 2026
26af18f
fix(ci): reject discovery rows without price evidence
seonghobae Sep 2, 2026
8594325
test(ci): reject models without price fields
seonghobae Sep 2, 2026
e3a5f56
test(ci): make legacy discovery fixtures explicitly free
seonghobae Sep 2, 2026
f8749d3
docs(ci): record explicit free hourly admission in Unreleased
seonghobae Sep 2, 2026
737c01f
docs(governance): route semantic LLM work through released orchestrator
seonghobae Sep 2, 2026
687d780
test(governance): reproduce stale direct-provider authority
seonghobae Sep 2, 2026
602a0ca
docs(llm): make released orchestrator the routing authority
seonghobae Sep 2, 2026
2567ecd
docs(prd): add released orchestrator routing amendment
seonghobae Sep 2, 2026
224664e
docs(prd): supersede direct provider execution authority
seonghobae Sep 2, 2026
5ed99cb
docs(trd): require released orchestrator contract for LLM work
seonghobae Sep 2, 2026
8fbfe6e
refactor(architecture): separate DDD contexts and released owner boun…
seonghobae Sep 2, 2026
d4b5f16
test(ci): reproduce unreleased provider bootstrap contract
seonghobae Sep 2, 2026
947df0b
fix(ci): delegate hourly routing to released orchestrator
seonghobae Sep 2, 2026
ee30948
test(ci): retire consumer-side free-route authority
seonghobae Sep 2, 2026
37a5000
refactor(ci): retire TEPP-owned provider routing bootstrap
seonghobae Sep 2, 2026
f03c050
test(ci): pin secure released-gateway and base-head contract
seonghobae Sep 2, 2026
152a8a3
docs(ci): align hourly runbook to released gateway
seonghobae Sep 2, 2026
b991fa4
docs(adr): move hourly routing to released owner contract
seonghobae Sep 2, 2026
639faec
docs(prd): fix released-routing evidence and whitespace
seonghobae Sep 2, 2026
484c509
docs(doctoring): trace released-orchestrator ownership repair
seonghobae Sep 2, 2026
17d4b8c
docs: remove LLM contract trailing whitespace
seonghobae Sep 2, 2026
bb178de
docs: preserve LLM status metadata layout
seonghobae Sep 2, 2026
33a68ec
docs: repair LLM and cutoff architecture authority
seonghobae Sep 2, 2026
9ff5261
docs: keep architecture free of volatile PR state
seonghobae Sep 2, 2026
6d756d0
test(ci): require HTTPS-only gateway redirects
seonghobae Sep 2, 2026
f1da3f2
fix(ci): restrict gateway redirects to HTTPS
seonghobae Sep 2, 2026
1f0d2dd
test(ci): require HTTPS-only OpenCode redirects
seonghobae Sep 2, 2026
4475542
fix(ci): keep OpenCode redirects on HTTPS
seonghobae Sep 2, 2026
4248b33
test(llm): pin contributing guide to released orchestrator
seonghobae Sep 2, 2026
01f45a9
fix(llm): remove direct provider credential guidance
seonghobae Sep 2, 2026
5af6795
fix(actions): centralize hourly development admission
seonghobae Sep 4, 2026
03876fb
Revert "fix(actions): centralize hourly development admission"
seonghobae Sep 4, 2026
5b2637f
fix(actions): retain centralized hourly admission
seonghobae Sep 4, 2026
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
275 changes: 133 additions & 142 deletions .github/workflows/hourly-nim-product-development.yml

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ TEPP is the Temporal Event Psychometrics Platform: a multilingual, temporal, rel
7. Multilingual measurement uses one shared latent semantic space. Language-specific morphology and lexical emissions may vary, but equivalent meanings must be aligned and tested for measurement invariance.
8. Production line and branch coverage are 100%. All public modules, traits, structs, enums, functions, methods, error variants, configuration fields, and safety contracts have complete docstrings.
9. Scientific acceptance requires realistic synthetic truth: parameter recovery, RMSE, bias, interval coverage, temporal ordering, graph recovery, invariance, and CPU/GPU parity. Skipped or ignored GPU tests are not evidence.
10. LLM live tests use `NVIDIA_NIM_API_KEY`. `COPILOT_GITHUB_TOKEN` is prohibited. Existing independent review-agent credentials must not be repurposed.
11. LLM orchestration allocates test-time computation between direct routing and deeper multi-agent workflows. Workflow depth, decomposition, access lists, recursion, role-specific reasoning effort, verification/adjudication, and comparable-budget ablations are recorded. LLM output never replaces deterministic/statistical scientific authority.
10. Every semantic LLM operation and every model-backed GitHub Actions workflow goes through a released, versioned `contextual-orchestrator` contract. Actions use the `orchestrator/free` route through the gateway credential only; TEPP must not select a provider/model/group, declare a paid fallback, call providers directly, or consume provider API keys such as NVIDIA NIM, OpenRouter, OpenAI, or Bytez credentials. If the released orchestrator contract cannot supply the required capability, fail closed and repair the canonical owner before consumer adoption. `COPILOT_GITHUB_TOKEN` is prohibited. Independent review-agent credentials must not be repurposed as execution credentials.
Comment thread
devin-ai-integration[bot] marked this conversation as resolved.
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Comment thread
seonghobae marked this conversation as resolved.
11. LLM orchestration allocates test-time computation between direct routing and deeper multi-agent workflows. Workflow depth, decomposition, access lists, recursion, role-specific reasoning effort, verification/adjudication, and comparable-budget ablations are recorded. LLM output never replaces deterministic/statistical scientific authority. Model timeout defaults must not terminate reasoning/stream/tool-call work merely because elapsed time is long; user cancellation, provider termination, and explicit administrative limits remain distinct outcomes.
Comment thread
devin-ai-integration[bot] marked this conversation as resolved.
12. Database object names contain at least two words and use `snake_case` by default. CamelCase or PascalCase is permitted only where language conventions require it.
13. Every scientific or standards claim is traced to an authoritative primary source and cited in APA 7th style in `docs/research/`.
14. Changes that alter latent-variable meaning, temporal semantics, event ontology, multilingual invariance, estimator targets, privacy authority, or service authority require an ADR and a PRD version change when the approved product/measurement target changes.
15. Do not blanket-mask PII when doing so destroys valid authorship, temporal, longitudinal, event, entity-role, or multiple-membership measurement. Use purpose-bound authorization, opaque analytical identifiers, separately protected identity mapping, encryption, selective disclosure, retention/deletion, and auditable privileged access.
16. Design toward CSAP and SOC 2 evidence readiness and align AI governance with current published ISO/NIST guidance where applicable, but never claim certification, attestation, conformance, or legal sufficiency without external evidence.
17. Preserve standalone operation and modular MSA composition. `naruon`, `contextual-orchestrator`, and other CWL services integrate through versioned APIs/artifacts; no direct cross-service application-table access is permitted.
17. Preserve standalone operation and modular MSA composition. `naruon`, `contextual-orchestrator`, and other CWL services integrate only through released/versioned APIs or immutable artifacts plus explicit ACLs; no direct cross-service application-table access or mutable sibling-head dependency is permitted.
18. Documents, external metadata, serialized payloads, model checkpoints, and LLM outputs are untrusted until their owning boundary validates identity, provenance, size/depth, authorization, and scientific semantics.
19. Figma/Product Design becomes authoritative only for a stable product interaction contract; UI design never overrides the PRD, data model, numerical/scientific contract, or protected-main implementation truth.

Expand Down
322 changes: 134 additions & 188 deletions ARCHITECTURE.md

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ All notable changes to TEPP are documented here. The format follows Keep a Chang

## [Unreleased]

- Hourly contextual-orchestrator bootstrap now admits only discovery rows whose provider-reported prompt and completion token prices are both present and exactly `0.0` before cheapest ranking. Paid, partial, missing, and fully unpriced rows stay out of the general-chat pool; an empty explicitly-free pool fails closed with no paid fallback. Secret-free discovery evidence records admitted free candidates and excluded non-free candidates. ADR 0017 and the hourly runbook document the same boundary. The checksum-pinned contextual-orchestrator revision is unchanged; unknown price is not treated as free.

- `event_core` adds bounded Allen interval-consistency classification, atomic path-consistency closure, contradiction/resource refusals, and an explicit dependency-error fallback without claiming unrestricted global satisfiability.

- `psychometric_core` recovers the Driver, Oud, and Voelkle (2017, Table 2, p. 12 `MANIFESTTRAITVAR`; §7.1, p. 19; p. 16 `MANIFESTTRAITVARstd`; footnote 4; 2017-era ctsem `summary.ctsemFit.R`; JSS PDF re-opened 2026-08-27T14:20Z from https://www.jstatsoft.org/index.php/jss/article/download/v077i05/1104) scalar standardised manifest-trait variance on current main after `0ce16e8` dropped the pre-consolidation code while research notes already named the map (register items 83–84). Table 2 names `MANIFESTTRAITVAR` `Ψ_τ` the additional time-invariant variance-covariance on the measurement level and sets it `NULL` when there is no manifest trait. Equation 5 writes `Γ ~ N(τ, Ψ)` and names that covariance the manifest traits. Section 7.1 names manifest traits stable individual differences in indicator levels, distinct from process-level `TRAITVAR` `φ_ξ`. Page 16 prints standardised matrices with the suffix `std` when appropriate. The printed example on p. 16 is `discreteDRIFTstd`, not `MANIFESTTRAITVARstd`. Footnote 4 standardises using only the relevant variance, not the total. The relevant variance for that named indicator-level correlation is `MANIFESTTRAITVAR`, not process-level `TRAITVAR` and not residual `MANIFESTVAR` `θ`. The 2017-era source forms `MANIFESTTRAITVARstd` only when `MANIFESTTRAITVAR != 0`, as `solve(sqrt(diag(MANIFESTTRAITVAR) + ridging)) %&% MANIFESTTRAITVAR` when `verbose = TRUE`. OpenMx `%&%` is `t(A) %*% B %*% A`. Unlike `TRAITVARstd`, that formation adds `diag(c(ridging), n.manifest)`. The default `ridging = FALSE` adds 0, not `0.0001`; that ridge is a numerical hack and is not this exact map. The scalar correlation is `ψ / ψ = 1` after strictly positive `MANIFESTTRAITVAR`. Form strictly positive `ψ` first, then `1 / √ψ`, then `(1 / √ψ) ψ (1 / √ψ)`. Unstandardised `MANIFESTTRAITVAR` is defined for a zero trait; standardised `MANIFESTTRAITVAR` is not. Zero `MANIFESTTRAITVAR` skips forming `MANIFESTTRAITVARstd` in the 2017-era source and fails closed here. Indicator-level trait variance is an event-time structural quantity, so a non-event clock fails closed. `MANIFESTTRAITVAR` does not require stable `a < 0`. Distinct positive `ψ` recover the same 1. `trait / trait = 1` is `TRAITVARstd` and recovers the same number and remains a distinct named quantity. `θ` is `MANIFESTVAR` and is measurement error, not this correlation. Meredith (1993) remains unread (web search 2026-08-27T14:20Z: Springer/Cambridge Core paywalled; Unpaywall historically `is_oa: false`; Springer `content/pdf` is an HTML stub). Mislevy (1991, *Psychometrika, 56*, 177–196) remains unread on the same terms (DOI `10.1007/bf02294457`). Still not a Kalman filter, not a matrix `expm`, not ESEM estimation, not DSEM, and not ctsem estimation.
Expand Down
9 changes: 5 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,11 @@ Use primary papers, international standards, official specifications, and offici

- Treat all model output as untrusted structured input.
- Preserve exact source spans and evidence identifiers.
- Use `NVIDIA_NIM_API_KEY` for approved live tests.
- Never use or introduce `COPILOT_GITHUB_TOKEN`.
- Record provider, model, prompt hash, reasoning effort, workflow depth, tools/access list, seed where supported, latency, token usage, and cost.
- Include direct-routing versus orchestrated and reasoning-effort ablations.
- Route every semantic LLM operation and model-backed GitHub Actions workflow through a released, versioned `contextual-orchestrator` contract. GitHub Actions use only `orchestrator/free` through the contextual-orchestrator gateway credential.
- Do not select or hard-code a provider, model, provider group, or paid fallback in TEPP, and do not expose provider API keys to TEPP workflows. If a released orchestrator contract cannot provide the required capability, fail closed and repair the canonical owner before adopting the change here.
- Never use or introduce `COPILOT_GITHUB_TOKEN`, and never repurpose independent review-agent credentials as execution credentials.
- Record the contextual-orchestrator release/contract identity, route, prompt hash, reasoning effort, workflow depth, tools/access list, seed where supported, latency, token usage, and cost. Record provider/model identity only when the released orchestrator returns it as execution provenance; it is evidence, not TEPP routing authority.
- Include direct-routing versus orchestrated and reasoning-effort ablations where scientifically relevant. LLM output never replaces numerical estimation or scientific acceptance.

## Database naming

Expand Down
Loading
Loading