mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-20 20:00:45 +02:00
173 lines
12 KiB
JSON
173 lines
12 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"kind": "deterministic-semantic-transcript",
|
|
"suite": "Office hours",
|
|
"execution_id": "office-hours",
|
|
"fixture": {
|
|
"id": "idea-before-solution",
|
|
"prompt": "People abandon restaurant waitlists. Help me decide whether there is a real product here.",
|
|
"signals": {
|
|
"phase": "pre-solution",
|
|
"premise_confidence": "low",
|
|
"artifact_exists": false,
|
|
"user_surface": "consumer"
|
|
},
|
|
"rationale": "Forcing questions and demand-first product pressure."
|
|
},
|
|
"baseline_invocation": {
|
|
"base_sha": "bb57306d98c97011b0919c6132705a15b1579781",
|
|
"modules": [
|
|
"office-hours"
|
|
],
|
|
"input": "People abandon restaurant waitlists. Help me decide whether there is a real product here."
|
|
},
|
|
"candidate_invocation": {
|
|
"dispatcher": "plan",
|
|
"mode": "Discovery",
|
|
"depth": "deep",
|
|
"mutation": "design-doc-only",
|
|
"active_modules": [
|
|
"office-hours"
|
|
],
|
|
"skipped_modules": [
|
|
"plan-ceo-review",
|
|
"plan-eng-review",
|
|
"plan-devex-review",
|
|
"autoplan",
|
|
"spec",
|
|
"plan-tune"
|
|
],
|
|
"web_context": "optional",
|
|
"input": "People abandon restaurant waitlists. Help me decide whether there is a real product here."
|
|
},
|
|
"source_comparisons": [
|
|
{
|
|
"source": "office-hours",
|
|
"baseline": {
|
|
"base_sha": "bb57306d98c97011b0919c6132705a15b1579781",
|
|
"source_path": "office-hours/SKILL.md.tmpl",
|
|
"rendered_sha256": "5af4dc503ee149ac5052617ec4d5ad1947c9fbf28c663f40457b0eb07f5fcea3",
|
|
"semantic_signature": {
|
|
"normalized_sha256": "5af4dc503ee149ac5052617ec4d5ad1947c9fbf28c663f40457b0eb07f5fcea3",
|
|
"headings_sha256": "0eda5f7edd88be7d836c59847e64e7811e3872ae9e1a25d126ba8d2ae54cb3a8",
|
|
"questions_sha256": "30e4f21e54de8e457a7a1c8d347e97a8ea129e9228fd8e90f094248588678885",
|
|
"obligations_sha256": "1e30acebeeecd688d14b4d80645d6cbd9febf56b59294b33f149a623b90c2e29",
|
|
"heading_count": 73,
|
|
"question_count": 23,
|
|
"obligation_count": 115
|
|
}
|
|
},
|
|
"mechanical_port": {
|
|
"rendered_sha256": "ebb8816907a17722d1e1d227de782684870805368fcdc07f69347f32d907a9ba",
|
|
"differs_from_baseline": true,
|
|
"allowed_difference": "Canonical GStack 2 carve: exclude the retired shared onboarding wrapper and host hook advisory; resolve retired invocations to six public routes; relocate host/runtime paths; lazy-load pinned carved sections from package-local references."
|
|
},
|
|
"candidate": {
|
|
"target_path": "skills/plan/references/legacy/office-hours.md",
|
|
"rendered_legacy_body_sha256": "ebb8816907a17722d1e1d227de782684870805368fcdc07f69347f32d907a9ba",
|
|
"semantic_signature": {
|
|
"normalized_sha256": "ebb8816907a17722d1e1d227de782684870805368fcdc07f69347f32d907a9ba",
|
|
"headings_sha256": "f50aa767e26cdfc3c8fa4c6bdcabd10e061ca0ab59e2aff4c204eaf68bfd1d56",
|
|
"questions_sha256": "92d854d47b2f92f30cc34a59cfb6f3e18449beddcb8ebd5490162545bc8384c7",
|
|
"obligations_sha256": "a8abcb960325c146cb555a71821d702b593bb7dc4f12646d4ecaea11a9cf6b68",
|
|
"heading_count": 34,
|
|
"question_count": 13,
|
|
"obligation_count": 43
|
|
}
|
|
},
|
|
"deterministic_comparison": {
|
|
"normalized_body_equal": false,
|
|
"installable_port_equal": true,
|
|
"contract_equal": true,
|
|
"classification": "EQUIVALENT"
|
|
},
|
|
"differences": [
|
|
{
|
|
"classification": "INTENTIONAL_IMPROVEMENT",
|
|
"issue_or_pr": "https://github.com/garrytan/gstack/pull/679",
|
|
"reproduced_defect": "Match the user language",
|
|
"regression_fixture": "evals/parity/regressions/pr-679.json",
|
|
"explanation": "### User-language rule\n\nWrite questions, progress updates, reports, and artifacts in the language used by the user. Source material, code identifiers, commands, and quotations may remain in their original language when translating them would reduce accuracy."
|
|
},
|
|
{
|
|
"classification": "INTENTIONAL_IMPROVEMENT",
|
|
"issue_or_pr": "https://github.com/garrytan/gstack/pull/2030",
|
|
"reproduced_defect": "Record only signal-bearing learnings",
|
|
"regression_fixture": "evals/parity/regressions/pr-2030.json",
|
|
"explanation": "### Signal-gated learning\n\nPersist a learning only when the interaction contains a useful, reusable signal such as an explicit preference, correction, accepted recommendation, or rejected direction. Track helpful and harmful outcomes separately. Do not manufacture a learning merely because a workflow completed."
|
|
},
|
|
{
|
|
"classification": "INTENTIONAL_IMPROVEMENT",
|
|
"issue_or_pr": "https://github.com/garrytan/gstack/pull/1049",
|
|
"reproduced_defect": "Refuse to log success without a persisted design doc",
|
|
"regression_fixture": "evals/parity/regressions/pr-1049.json",
|
|
"explanation": "### Artifact-verified outcome\n\nThe design doc file is the artifact of this session. Before the telemetry block runs, verify that a design doc actually persisted to disk. When no doc was written, the outcome must be `no_doc`, never `success`, no matter how productive the conversation felt. A session without a persisted artifact is not a successful session, and downstream analytics depend on that distinction to catch skipped review phases."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"semantic_dimensions": {
|
|
"questions": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "The candidate exactly matches the deterministic canonical specialist render of the pinned workflow. The retired shared onboarding wrapper is excluded and carved specialist phases are package-local lazy references; specialist questions, pressure, gates, evidence, artifacts, mutation boundaries, exit behavior, and voice remain governed by their source contracts."
|
|
},
|
|
"question_order": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "The candidate exactly matches the deterministic canonical specialist render of the pinned workflow. The retired shared onboarding wrapper is excluded and carved specialist phases are package-local lazy references; specialist questions, pressure, gates, evidence, artifacts, mutation boundaries, exit behavior, and voice remain governed by their source contracts."
|
|
},
|
|
"follow_up_pressure": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "The candidate exactly matches the deterministic canonical specialist render of the pinned workflow. The retired shared onboarding wrapper is excluded and carved specialist phases are package-local lazy references; specialist questions, pressure, gates, evidence, artifacts, mutation boundaries, exit behavior, and voice remain governed by their source contracts."
|
|
},
|
|
"smart_skips": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "The candidate exactly matches the deterministic canonical specialist render of the pinned workflow. The retired shared onboarding wrapper is excluded and carved specialist phases are package-local lazy references; specialist questions, pressure, gates, evidence, artifacts, mutation boundaries, exit behavior, and voice remain governed by their source contracts."
|
|
},
|
|
"pushback_strength": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "The candidate exactly matches the deterministic canonical specialist render of the pinned workflow. The retired shared onboarding wrapper is excluded and carved specialist phases are package-local lazy references; specialist questions, pressure, gates, evidence, artifacts, mutation boundaries, exit behavior, and voice remain governed by their source contracts."
|
|
},
|
|
"scope_recommendation": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "The candidate exactly matches the deterministic canonical specialist render of the pinned workflow. The retired shared onboarding wrapper is excluded and carved specialist phases are package-local lazy references; specialist questions, pressure, gates, evidence, artifacts, mutation boundaries, exit behavior, and voice remain governed by their source contracts."
|
|
},
|
|
"active_reasoning_modules": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "Structured route selected office-hours from product/evidence signals."
|
|
},
|
|
"findings": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "The candidate exactly matches the deterministic canonical specialist render of the pinned workflow. The retired shared onboarding wrapper is excluded and carved specialist phases are package-local lazy references; specialist questions, pressure, gates, evidence, artifacts, mutation boundaries, exit behavior, and voice remain governed by their source contracts."
|
|
},
|
|
"evidence": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "The candidate exactly matches the deterministic canonical specialist render of the pinned workflow. The retired shared onboarding wrapper is excluded and carved specialist phases are package-local lazy references; specialist questions, pressure, gates, evidence, artifacts, mutation boundaries, exit behavior, and voice remain governed by their source contracts."
|
|
},
|
|
"artifacts": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "The candidate exactly matches the deterministic canonical specialist render of the pinned workflow. The retired shared onboarding wrapper is excluded and carved specialist phases are package-local lazy references; specialist questions, pressure, gates, evidence, artifacts, mutation boundaries, exit behavior, and voice remain governed by their source contracts."
|
|
},
|
|
"approval_gates": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "The candidate exactly matches the deterministic canonical specialist render of the pinned workflow. The retired shared onboarding wrapper is excluded and carved specialist phases are package-local lazy references; specialist questions, pressure, gates, evidence, artifacts, mutation boundaries, exit behavior, and voice remain governed by their source contracts."
|
|
},
|
|
"mutation_behavior": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "The candidate exactly matches the deterministic canonical specialist render of the pinned workflow. The retired shared onboarding wrapper is excluded and carved specialist phases are package-local lazy references; specialist questions, pressure, gates, evidence, artifacts, mutation boundaries, exit behavior, and voice remain governed by their source contracts."
|
|
},
|
|
"completion_status": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "The candidate exactly matches the deterministic canonical specialist render of the pinned workflow. The retired shared onboarding wrapper is excluded and carved specialist phases are package-local lazy references; specialist questions, pressure, gates, evidence, artifacts, mutation boundaries, exit behavior, and voice remain governed by their source contracts."
|
|
},
|
|
"recommended_next_action": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "The candidate exactly matches the deterministic canonical specialist render of the pinned workflow. The retired shared onboarding wrapper is excluded and carved specialist phases are package-local lazy references; specialist questions, pressure, gates, evidence, artifacts, mutation boundaries, exit behavior, and voice remain governed by their source contracts."
|
|
},
|
|
"voice": {
|
|
"classification": "EQUIVALENT",
|
|
"evidence": "The candidate exactly matches the deterministic canonical specialist render of the pinned workflow. The retired shared onboarding wrapper is excluded and carved specialist phases are package-local lazy references; specialist questions, pressure, gates, evidence, artifacts, mutation boundaries, exit behavior, and voice remain governed by their source contracts."
|
|
}
|
|
},
|
|
"verdict": "PASS"
|
|
}
|