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/interpretation-run-lookup-cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- `tepp-interpretation-run-lookup lookup` mints contextual-orchestrator `GET /v1/interpretation-runs/by-run-id/{interpretation_run_id}` onto spawned `tepp-orchestrator-loopback` TCP (ADR 0096). Metric-free identity; `claim_status` remains hypothetical; `scientific_authority` remains false. Empty stdin admitted. Does not infer causality. Naruon and LineageWeave refused. `NaruonLiveService` stays POST-only. Does not re-open cancel lineages. Not GAP-010 Figma/export, not persistence.
1 change: 1 addition & 0 deletions CHANGELOG.d/interpretation-run-lookup-http.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- `GET /v1/interpretation-runs/by-run-id/{interpretation_run_id}` returns the accepted contextual-orchestrator metric-free identity on `tepp-orchestrator-loopback` (ADR 0095). Dual identity of GET-by-id (`idempotency_key`). Zero and ambiguous matches fail closed. `claim_status` remains hypothetical; `scientific_authority` remains false. Does not infer causality. Naruon and LineageWeave refused. `NaruonLiveService` stays POST-only. Does not re-open cancel lineages. Not GAP-010 Figma/export, not persistence.
1 change: 1 addition & 0 deletions CHANGELOG.d/interpretation-run-stored-request-cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- `tepp-interpretation-run-request get` mints contextual-orchestrator `GET /v1/interpretation-runs/{idempotency_key}/request` onto spawned `tepp-orchestrator-loopback` TCP (ADR 0086). Metric-free; `scientific_authority` remains false. Empty stdin admitted. Does not infer causality. Naruon and LineageWeave refused. `NaruonLiveService` stays POST-only. Does not re-open cancel lineages. Not GAP-010 Figma/export, not persistence.
1 change: 1 addition & 0 deletions CHANGELOG.d/interpretation-run-stored-request-get.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- `GET /v1/interpretation-runs/{idempotency_key}/request` returns the accepted contextual-orchestrator create request on `tepp-orchestrator-loopback` (ADR 0085). Metric-free; `scientific_authority` remains false. Does not infer causality. Naruon and LineageWeave refused. `NaruonLiveService` stays POST-only. Does not re-open cancel lineages. Not GAP-010 Figma/export, not persistence.
4 changes: 4 additions & 0 deletions DOCUMENTATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ TEPP's approved PRD v0.4 and implementation plan are the primary product baselin
| Interpretation-run CLI doctoring | [`docs/research/interpretation-run-cli.md`](docs/research/interpretation-run-cli.md) |
| Interpretation-run collection GET doctoring | [`docs/research/interpretation-run-collection-http.md`](docs/research/interpretation-run-collection-http.md) |
| Interpretation-run GET-by-id doctoring | [`docs/research/interpretation-run-retrieval-http.md`](docs/research/interpretation-run-retrieval-http.md) |
| Interpretation-run stored-request GET doctoring | [`docs/research/interpretation-run-stored-request-get.md`](docs/research/interpretation-run-stored-request-get.md) |
| Interpretation-run stored-request CLI doctoring | [`docs/research/interpretation-run-stored-request-cli.md`](docs/research/interpretation-run-stored-request-cli.md) |
| Interpretation-run lookup GET doctoring | [`docs/research/interpretation-run-lookup-http.md`](docs/research/interpretation-run-lookup-http.md) |
| Interpretation-run lookup CLI doctoring | [`docs/research/interpretation-run-lookup-cli.md`](docs/research/interpretation-run-lookup-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
12 changes: 12 additions & 0 deletions crates/orchestrator_live/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,17 @@ path = "src/bin/tepp_interpretation_runs.rs"
test = false
bench = false

[[bin]]
name = "tepp-interpretation-run-request"
path = "src/bin/tepp_interpretation_run_request.rs"
test = false
bench = false

[[bin]]
name = "tepp-interpretation-run-lookup"
path = "src/bin/tepp_interpretation_run_lookup.rs"
test = false
bench = false

[lints]
workspace = true
34 changes: 34 additions & 0 deletions crates/orchestrator_live/src/bin/tepp_interpretation_run_lookup.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
//! Operator CLI for loopback contextual-orchestrator lookup GET.

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

use orchestrator_live::{
InterpretationRunLookupCliInvocation, OrchestratorLiveError,
execute_interpretation_run_lookup_cli, read_interpretation_run_lookup_cli_stdin,
render_interpretation_run_lookup_cli_stdout,
};

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

fn run() -> Result<(), OrchestratorLiveError> {
let args: Vec<String> = std::env::args().skip(1).collect();
match args.first().map(String::as_str) {
Some("lookup") => run_lookup(&args),
_ => Err(OrchestratorLiveError::InvalidWirePayload),
}
}

fn run_lookup(args: &[String]) -> Result<(), OrchestratorLiveError> {
let body = read_interpretation_run_lookup_cli_stdin(io::stdin().is_terminal(), io::stdin())?;
let invocation = InterpretationRunLookupCliInvocation::from_args(args, body)?;
let response = execute_interpretation_run_lookup_cli(&invocation)?;
let stdout = render_interpretation_run_lookup_cli_stdout(&invocation, &response)?;
println!("{stdout}");
Ok(())
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
//! Operator CLI for loopback contextual-orchestrator stored-request GET.

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

use orchestrator_live::{
execute_interpretation_run_stored_request_cli, read_interpretation_run_stored_request_cli_stdin,
render_interpretation_run_stored_request_cli_stdout,
InterpretationRunStoredRequestCliInvocation, OrchestratorLiveError,
};

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

fn run() -> Result<(), OrchestratorLiveError> {
let args: Vec<String> = std::env::args().skip(1).collect();
match args.first().map(String::as_str) {
Some("get") => run_get(&args),
_ => Err(OrchestratorLiveError::InvalidWirePayload),
}
}

fn run_get(args: &[String]) -> Result<(), OrchestratorLiveError> {
let body =
read_interpretation_run_stored_request_cli_stdin(io::stdin().is_terminal(), io::stdin())?;
let invocation = InterpretationRunStoredRequestCliInvocation::from_args(args, body)?;
let response = execute_interpretation_run_stored_request_cli(&invocation)?;
let stdout = render_interpretation_run_stored_request_cli_stdout(&invocation, &response)?;
println!("{stdout}");
Ok(())
}
Loading
Loading