chore(fork): restore fork and Harness overlay on latest upstream - #87
Merged
Conversation
R6 split: A — shared types and segment lifecycle contracts used by runtime base and wiring.
… and verdict publisher R6 split: B — runtime base. Includes internal services, message stores, routing, prompt-hooks, guard rejection event log, harness eval, local artifact publisher, telemetry, ball-custody, and existing route adaptations. Provenance is optional in MessageStore at this layer so upstream callers still compile. Old Git publisher removed in this commit alongside type sunset.
…d provenance enforcement R6 split: C — runtime wiring. Adds segment-lifeline routes, prompt-injection override routes, makes MessageStore.provenance required, wires new routes in index.ts, and lands MCP server tools/tests.
R6 split: D — Console/web UI for segment lifeline, replay, eval window provenance, and actionable stage.
R6 split: E — prompt-hook asset updates for variable presentation and governance metadata.
…domains R6 split: F — F257 feature documentation, eval domain registry, objectives, and bug reports.
R6 split: G — L0 compilation script updates, hook variable population script, and gitignore entries.
Why: the rebuilt develop_base must retain Cat Cafe runtime identity authority and the fork-specific planning/review safeguards without carrying the old mixed commit history. [砚砚/gpt-5.6-sol🐾]
Why: develop_base is the live runtime baseline, so only the five explicitly governed shared-state files may be committed directly; code continues through feature PRs. Also restores the fork ROADMAP identity/status overlay without reviving obsolete TeamAct or execution-artifact history. [砚砚/gpt-5.6-sol🐾]
Why: three consecutive zero-signal 72h windows showed the 3-day schedule generated noise; weekly remains within the 168h SLA and is independently reversible. [砚砚/gpt-5.6-sol🐾]
* docs(f257): plan annotation-driven objective evaluation Why: tracing, attribution, and metric evaluation currently share a time-window judgment model that produces misleading per-segment rates. This plan establishes exact episode joins, unified annotations, count thresholds, async semantic analysis, and append-only results before implementation. * feat(f257): bind harness markers to exact trace episodes Why: Harness signals must annotate the authenticated invocation's immutable terminal episode instead of writing uncorrelated evaluation facts directly. * feat(f257): evaluate objective metrics from trace annotations Why: Objectives need explicit models and count/rate/semantic/replay metrics, while threshold counters must trigger from distinct episodes without inventing denominators. * feat(f257): auto-evaluate indexed trace annotations Why: tracing must remain a neutral fact ledger while objective-owned rules validate coordinates, freeze immutable snapshots, and append count or semantic evaluation results asynchronously. * feat(f257): separate candidates counters and rates Why: explicit incidents should trigger count evaluation without invented denominators, while uncertain MCP markers remain queued for semantic classification and rate metrics freeze only positive or counterexample samples. * feat(f257): expose objective metric evaluation read model Why: the Console must display each segment's registered Objective, Evaluation Model, concrete metrics, collection progress, and immutable result window instead of deriving a generic violation rate from legacy segment judgments. * feat(f257): show objective metrics and trace replay theater Why: replace the synthetic blocking lifeline UI with the actual Objective metric read model and complete TraceEpisode replay scenes. * feat(f257): make template segments directly editable Why: local owner-authored source overlays are separate from runtime safety-tier controls, and the editor should expose only useful variable metadata plus the exact editable source. * feat(f257): evaluate unclassified trace episodes asynchronously Why: tracing must remain a complete invocation fact stream while Objective-owned code/LLM/replay rules classify and evaluate evidence off the response path. Counterexample metrics now trigger from distinct incident counts without fabricated denominators, and semantic writeback is bound to immutable owner-scoped jobs. * test(f257): isolate task outcome artifact fixtures Why: fixed temp directory names survived failed runs and admitted unrelated metric YAML into the domain registry reader, making the public suite order-dependent. Keep each fixture under the test-owned root and clean it on every exit path. * fix(f257): reject legacy signal payloads before storage Why: report_harness_signal now marks the authenticated invocation trace. Validate that contract before checking Redis so sunset direct-observation requests return 400 and cannot mutate legacy deviation or guard-ledger projections. * docs(f257): restore active roadmap truth Why: the F257 feature spec remains in progress, so the repository feature-truth gate requires a matching active roadmap entry. Keep the entry product-scoped and free of fork-only operational state. * test(f257): add objective evaluation showcase Why: the existing showcase exercised the retired SegmentJudgment view, so browser acceptance could not verify the new counter/rate/semantic metric model or TraceEpisode theater. * fix(f257): restore lifecycle-first evaluation navigation Why: tracing replay and objective metrics belong to a selected version epoch; exposing them as global sibling tabs erased the version lifecycle coordinate and allowed shared-objective data to leak across segments. * fix(f257): simplify lifecycle stage details Why: lifecycle navigation should reveal operator-facing version, trace, and metric details without internal implementation noise or ambiguous selection state. * fix(f257): align lifecycle selection styling Why: lifecycle stage selection should reuse the existing accent pill language instead of introducing an unrelated dark outline. * fix(f257): keep evaluation sidecar fail-open Why: Objective evaluation observes the main runtime and must not abort API startup when its catalog is unavailable. Placeholder segments also cannot produce verdicts before their runtime data is wired.
* fix(f257): focus replay on source context Why: operator replay should prioritize the originating thread/message and surrounding conversation, while template-render and window-correlated guard internals remain in durable audit storage without dominating the primary UI. [砚砚/gpt-5.6-sol🐾] * docs(f257): archive replay context review Why: preserve the operator requirement, exact-SHA cross-cat verdict, repository gate evidence, and known UI-evidence limitations alongside the implementation before PR publication. [砚砚/gpt-5.6-sol🐾]
* docs(F257): record replay refinement merge Why: preserve F257 Feature Truth after fork-internal PR #85 merged under the LI-004 feature-branch guard. [砚砚/gpt-5.6-sol🐾] * docs(F257): archive PR 85 truth-sync review request Why: make the fork-internal cross-individual review scope and evidence reproducible before the Feature Truth sync PR. [砚砚/gpt-5.6-sol🐾]
Why: preserve fork-only F257 runtime truth and inbound brand boundaries while incorporating the upstream main line through an ordinary two-parent merge.\n\n[砚砚/gpt-5.6-sol🐾]
Why: preserve the fork's ordinary-merge history while reconciling latest main cursor, custody, and plugin inventory changes with the F257 harness ledger contracts. [砚砚/gpt-5.6-sol🐾]
Why: preserve LI-005 routing safety and recover upstream documentation while rebuilding develop_base from the latest upstream main. [砚砚/gpt-5.6-sol🐾]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Rebuild
develop_baseas latestupstream/main@06263d99922da6928a21621f617a61b902fb1b5bplus the fork-specific product overlay and F257 Harness/Ledger work.Exact candidate:
849694b89b9ab03bcc05380bd3392aa59702f06d.The remote
develop_basebaseline was reset to that exact upstream SHA before this PR. Its previous tip is recoverable atbackup/develop-base-pre-main-reset-20260806@27ea2aec5. Therefore this PR now shows only the overlay: 857 files, +55,695 / -22,340, not the earlier 366k-line upstream synchronization noise.Overlay contents
PR #83 (
fix(F167): mode-aware hold quota with atomic reservation) is not included in this PR and remains a separate open change.Validation
pnpm checkPASS.pnpm gate --no-rebase: PASS on exact SHA849694b89:Risk
develop_basetip has a remote backup branch; runtime activation is separate.Review
Independent exact-SHA review is pending. This is a fork-internal PR; online Codex review is intentionally excluded per operator direction.
Runtime activation note
Upstream L0 compilation now fails closed when a cat lacks an explicit
relationshipKey. Runtime config is deliberately outside this PR. Before rebuilding the livedevelop_baseruntime, verify the existing runtime mapping forcat-eqdvbcxw; do not infer breed/model identity in code.