mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-21 20:30:47 +02:00
Detect host-native browser tools before offering the isolated local Chromium fallback, add a common readiness fixture, harden managed browser startup, and verify standards installs expose one canonical QA skill.
158 lines
10 KiB
JSON
158 lines
10 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"kind": "deterministic-semantic-transcript",
|
|
"suite": "Physical-iOS QA",
|
|
"execution_id": "physical-ios-qa",
|
|
"fixture": {
|
|
"id": "device-state-journey",
|
|
"prompt": "Drive the account flow on the plugged-in phone, recording state and screenshots at each transition.",
|
|
"signals": {
|
|
"surface": "ios",
|
|
"real_device": true,
|
|
"interaction_required": true,
|
|
"mutation_authorized": false
|
|
},
|
|
"rationale": "Physical-device state and screenshot evidence."
|
|
},
|
|
"baseline_invocation": {
|
|
"base_sha": "bb57306d98c97011b0919c6132705a15b1579781",
|
|
"modules": [
|
|
"ios-qa"
|
|
],
|
|
"input": "Drive the account flow on the plugged-in phone, recording state and screenshots at each transition."
|
|
},
|
|
"candidate_invocation": {
|
|
"dispatcher": "qa",
|
|
"mode": "Report",
|
|
"depth": "deep",
|
|
"mutation": "report-only",
|
|
"active_modules": [
|
|
"ios-qa"
|
|
],
|
|
"skipped_modules": [
|
|
"qa",
|
|
"qa-only",
|
|
"devex-review",
|
|
"benchmark",
|
|
"canary"
|
|
],
|
|
"web_context": "none",
|
|
"input": "Drive the account flow on the plugged-in phone, recording state and screenshots at each transition."
|
|
},
|
|
"source_comparisons": [
|
|
{
|
|
"source": "ios-qa",
|
|
"baseline": {
|
|
"base_sha": "bb57306d98c97011b0919c6132705a15b1579781",
|
|
"source_path": "ios-qa/SKILL.md.tmpl",
|
|
"rendered_sha256": "5e84e675bafd3c598f971309f0e062f7a27f14d2415d32a90aea841210f0464a",
|
|
"semantic_signature": {
|
|
"normalized_sha256": "5e84e675bafd3c598f971309f0e062f7a27f14d2415d32a90aea841210f0464a",
|
|
"headings_sha256": "c3956fd2f080109a7f972d1e7d4f32bafa760290665757c74e8f6b16b9acbe31",
|
|
"questions_sha256": "6c75f2c3d1416853604508a8b35b58fb2b99072d7f9b62ba428fb07d437cf2f1",
|
|
"obligations_sha256": "6551c5757149ae606579c3a161524de1a5214a81e10138db518148f757650d1e",
|
|
"heading_count": 37,
|
|
"question_count": 4,
|
|
"obligation_count": 60
|
|
}
|
|
},
|
|
"mechanical_port": {
|
|
"rendered_sha256": "73ea0aabaa9e7c8fdd4ae279f519303a78682540b2340816f97e239718908e62",
|
|
"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/qa/references/legacy/ios-qa.md",
|
|
"rendered_legacy_body_sha256": "73ea0aabaa9e7c8fdd4ae279f519303a78682540b2340816f97e239718908e62",
|
|
"semantic_signature": {
|
|
"normalized_sha256": "73ea0aabaa9e7c8fdd4ae279f519303a78682540b2340816f97e239718908e62",
|
|
"headings_sha256": "79304f733fa401249340540c659f15a9da4e7a89a3d505d39437f6bcbcaf4ce5",
|
|
"questions_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
"obligations_sha256": "1d8b9f6b93b844f1a9ad43f1434c7b0a4b891a6e5e0ad8827f41c7eefbef239f",
|
|
"heading_count": 12,
|
|
"question_count": 0,
|
|
"obligation_count": 8
|
|
}
|
|
},
|
|
"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."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"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 ios-qa 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"
|
|
}
|