feat(api): query cutoff-safe project history via loopback CLI - #420
feat(api): query cutoff-safe project history via loopback CLI#420seonghobae wants to merge 4 commits into
Conversation
GAP-003A unique slice: tepp-project-history query mints typed LineageWeave POST /v1/project-histories onto spawned tepp-loopback TCP. Metric-free temporal_association_only JSON only. Naruon is refused. Persistence remains GAP-003B. ADR 0061 unique vs main.
|
Warning Review limit reachedNext included review available in 40 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (13)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
| return Err(ApiError::InvalidWirePayload); | ||
| } | ||
| let projection = ProjectHistoryProjection::from_json(&response.body)?; | ||
| if projection != project_history_projection(&invocation.request)? { |
There was a problem hiding this comment.
| Err(error) => { | ||
| eprintln!("{error}"); | ||
| ExitCode::FAILURE |
| (value.trim() == value && !value.chars().any(char::is_control)) | ||
| .then_some(()) | ||
| .ok_or(ApiError::InvalidWirePayload) |
Preserve #420 query CLI source, fail-closed transport/refusal behavior, contract tests, changelog fragment, and doctoring in the consolidated Analysis Run project-history adapter vehicle. Keep stored-request GET/CLI behavior intact. No new bounded context or architecture authority is created.
|
Superseded-by-fold evidence: surviving project-history landing vehicle #456 now has exact head |
Queue / DDD disposition
fold_into_landing_vehicle— this is a LineageWeave-facing Analysis Run application-adapter increment, not a bounded context and not an independent production candidate. Its unique behavior must be folded into the coherent project-history vehicle with #428/#431/#456 or a successor before predecessor closure. Keep this PR open as immutable implementation/review evidence until that source/test fold exists; do not merge it independently merely because it is Ready/mergeable.Preserved behavior
Protected main already serves
POST /v1/project-histories; this increment supplies the operator CLI for that existing application boundary:tepp-project-history querysends a typedProjectHistoryRequesttoPOST /v1/project-historiesontepp-loopback;lineageweaveonly; naruon and unpublished consumers fail closed;inference_status=temporal_association_only;tepp.scientific_acceptance.v1, causal scoring and numerical authority never appear;The original focused Rust/clippy/doc validation remains implementation evidence. Before the behavior is folded, compare current source rather than transferring old hosted results.
Architecture authority
The historical per-slice ADR 0061 reference is implementation lineage pending repository-wide normalization under #437; it does not create branch-local architecture authority. Project-history HTTP/CLI mechanics belong to the Analysis Run supporting context, while LineageWeave retains its source/project-history authorization and product-domain authority.
Landing rule
Do not close this PR until the selected surviving project-history landing vehicle contains the unique query-CLI code, refusals and tests. Once that ancestry/source fold is proven, preserve this discussion as predecessor evidence and close as
superseded_by_fold. The surviving vehicle must then reacquire exact-head required workflows, resolved review conversations and the qualifying independent approval required by the then-live ruleset. No self-approval, predecessor evidence transfer, force push or protection bypass.