Skip to content
Closed
Show file tree
Hide file tree
Changes from all 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 CHANGELOG.d/temporal-context-collection-cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- `tepp-temporal-contexts list` mints LineageWeave `GET /v1/temporal-context` onto spawned `tepp-loopback` TCP (ADR 0082). Metric-free `inference_status=temporal_association_only` receipts. `tepp.scientific_acceptance.v1` never appears. Does not infer causality. Naruon refused. `NaruonLiveService` stays POST-only. Not temporal-context CLI, not collection GET, not GAP-010 Figma/export, not persistence.
1 change: 1 addition & 0 deletions DOCUMENTATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ TEPP's approved PRD v0.4 and implementation plan are the primary product baselin
| contextual-orchestrator interpretation port | [`docs/connectors/contextual-orchestrator-interpretation-port.md`](docs/connectors/contextual-orchestrator-interpretation-port.md) |
| Orchestrator live HTTP doctoring | [`docs/research/orchestrator-live-http.md`](docs/research/orchestrator-live-http.md) |
| Temporal-context collection GET doctoring | [`docs/research/temporal-context-collection-get.md`](docs/research/temporal-context-collection-get.md) |
| Temporal-context collection CLI doctoring | [`docs/research/temporal-context-collection-cli.md`](docs/research/temporal-context-collection-cli.md) |
| UML/runtime/scientific flows | [`docs/UML.md`](docs/UML.md) |
| Logical/physical ERD | [`docs/ERD.md`](docs/ERD.md) |
| Security policy | [`SECURITY.md`](SECURITY.md) |
Expand Down
6 changes: 6 additions & 0 deletions crates/tepp_api/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,11 @@ path = "src/bin/tepp_loopback.rs"
test = false
bench = false

[[bin]]
name = "tepp-temporal-contexts"
path = "src/bin/tepp_temporal_contexts.rs"
test = false
bench = false

[lints]
workspace = true
30 changes: 30 additions & 0 deletions crates/tepp_api/src/bin/tepp_temporal_contexts.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
//! Operator CLI for loopback `LineageWeave` temporal-context collection GET.

use std::io::{self, IsTerminal};
use std::process::ExitCode;

use tepp_api::{
execute_temporal_context_collection_cli, read_temporal_context_collection_cli_stdin,
render_temporal_context_collection_cli_stdout, ApiError, TemporalContextCollectionCliInvocation,
};

fn main() -> ExitCode {
match run() {
Ok(()) => ExitCode::SUCCESS,
Err(_) => ExitCode::FAILURE,
}
}

fn run() -> Result<(), ApiError> {
let args: Vec<String> = std::env::args().skip(1).collect();
let body = read_temporal_context_collection_cli_stdin(io::stdin().is_terminal(), io::stdin())?;
let invocation = TemporalContextCollectionCliInvocation::from_args(&args, body)?;
let response = execute_temporal_context_collection_cli(&invocation)?;
let stdout = render_temporal_context_collection_cli_stdout(&invocation, &response)?;
println!("{stdout}");
if response.status_code == 200 {
Ok(())
} else {
Err(ApiError::InvalidWirePayload)
}
}
17 changes: 17 additions & 0 deletions crates/tepp_api/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ mod project_history;
mod project_journey;
mod provider_payload;
mod temporal_context;
mod temporal_context_collection_cli;
mod temporal_context_collection_http;
mod wire;

Expand Down Expand Up @@ -309,3 +310,19 @@ pub use temporal_context_collection_http::parse_temporal_context_collection_page
pub use temporal_context_collection_http::parse_temporal_context_collection_page_limit;
/// Refuse collection JSON that already carries scientific-metric or evidence keys.
pub use temporal_context_collection_http::refuse_metrics_on_temporal_context_collection_payload;
/// Supported operator verbs for the loopback temporal-context collection CLI.
pub use temporal_context_collection_cli::TemporalContextCollectionCliVerb;
/// One operator CLI invocation against a loopback collection GET listener.
pub use temporal_context_collection_cli::TemporalContextCollectionCliInvocation;
/// Compose one HTTP/1.1 collection GET from the typed `LineageWeave` exchange.
pub use temporal_context_collection_cli::compose_temporal_context_collection_cli_http;
/// Dispatch one collection CLI invocation against an in-process listener.
pub use temporal_context_collection_cli::dispatch_temporal_context_collection_cli;
/// Execute one collection CLI invocation over loopback TCP.
pub use temporal_context_collection_cli::execute_temporal_context_collection_cli;
/// Render a typed collection GET exchange as HTTP/1.1 for a loopback listener.
pub use temporal_context_collection_cli::loopback_http1_from_temporal_context_collection_exchange;
/// Read stdin leftover bytes on a non-terminal; collection GET admits empty.
pub use temporal_context_collection_cli::read_temporal_context_collection_cli_stdin;
/// Filter CLI stdout so collection pages never print scientific acceptance.
pub use temporal_context_collection_cli::render_temporal_context_collection_cli_stdout;
Loading
Loading