Sync checklist z27ag-captures v2 from contracts
/ crosscheck (push) Successful in 0s
CI / Analyze & Test (push) Successful in 10s
CI / Debug APK (push) Successful in 26s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
This commit is contained in:
2026-10-13 17:55:29 +09:00
parent bf8a99fb23
commit db5253587b
+284 -58
View File
@@ -1,69 +1,121 @@
{ {
"id": "z27ag-captures", "id": "z27ag-captures",
"version": 1, "version": 2,
"title": "Z27AG decoding captures", "title": "Z27AG decoding captures",
"about": "docs/impl/plans/Z27AG-CAPTURES.md", "about": "docs/impl/plans/Z27AG-CAPTURES.md",
"mark_format": "<step> <action>[ #<n>] start|end for a span, <step> <action>[ #<n>] for a point", "mark_format": "<step> <action>[ #<n>] start|end for a span, <step> <action>[ #<n>] for a point",
"sections": [ "sections": [
{ {
"title": "Parked, ignition on, engine off", "title": "Parked, ignition on, engine off, handbrake on",
"steps": [ "steps": [
{ {
"id": "1", "id": "1",
"title": "Baseline", "title": "Baseline",
"do": "Touch nothing.", "do": "Touch nothing.",
"finds": "the resting value of everything", "finds": "the resting value of everything",
"actions": [{ "label": "baseline", "hold_s": 20 }] "actions": [
{
"label": "baseline",
"hold_s": 20
}
]
}, },
{ {
"id": "2", "id": "2",
"title": "Accelerator", "title": "Accelerator",
"do": "Slowly to the floor over 5 s, hold 3 s, slowly back. Start as the foot moves, end when it is off.", "do": "Slowly to the floor over 5 s, hold 3 s, slowly back. Start as the foot moves, end when it is off.",
"finds": "pedal position, with no rpm to confuse it", "finds": "pedal position, with no rpm to confuse it",
"actions": [{ "label": "accel" }] "actions": [
{
"label": "accel"
}
]
}, },
{ {
"id": "3", "id": "3",
"title": "Brake", "title": "Brake",
"do": "Start as you press, hold 3 s, end as you release.", "do": "Start as you press, hold 3 s, end as you release.",
"finds": "brake switch, maybe pressure", "finds": "brake switch, maybe pressure (engine off: the pedal goes hard after a press or two, so pressure fades over the repeats)",
"actions": [{ "label": "brake", "hold_s": 3, "repeat": 3 }] "actions": [
{
"label": "brake",
"hold_s": 3,
"repeat": 3
}
]
}, },
{ {
"id": "4", "id": "4",
"title": "Clutch", "title": "Clutch",
"do": "Start as you press, hold 3 s, end as you release.", "do": "Start as you press, hold 3 s, end as you release.",
"finds": "clutch switch", "finds": "clutch switch",
"actions": [{ "label": "clutch", "hold_s": 3, "repeat": 3 }] "actions": [
{
"label": "clutch",
"hold_s": 3,
"repeat": 3
}
]
}, },
{ {
"id": "5", "id": "5",
"title": "Steering", "title": "Steering",
"do": "Centre, full left, full right, back to centre, slowly.", "do": "Centre, full left, full right, back to centre, slowly. Engine off is cleaner but heavy without power steering: step 23 on the jack stands does it properly.",
"finds": "steering angle", "finds": "steering angle",
"actions": [{ "label": "steer" }] "actions": [
{
"label": "steer"
}
]
}, },
{ {
"id": "6", "id": "6",
"title": "Gears", "title": "Gears",
"do": "Start when the gear is in, end as you take it out. Clutch down throughout.", "do": "Engine off, clutch down throughout. Start when the gear is in, end as you take it out.",
"finds": "reverse (likely as the reverse light); no other gearbox signal expected", "finds": "reverse (likely as the reverse light); no other gearbox signal expected",
"actions": [ "actions": [
{ "label": "gear 1", "hold_s": 3 }, {
{ "label": "gear 2", "hold_s": 3 }, "label": "gear 1",
{ "label": "gear 3", "hold_s": 3 }, "hold_s": 3
{ "label": "gear 4", "hold_s": 3 }, },
{ "label": "gear 5", "hold_s": 3 }, {
{ "label": "gear R", "hold_s": 3 }, "label": "gear 2",
{ "label": "neutral", "hold_s": 3 } "hold_s": 3
},
{
"label": "gear 3",
"hold_s": 3
},
{
"label": "gear 4",
"hold_s": 3
},
{
"label": "gear 5",
"hold_s": 3
},
{
"label": "gear R",
"hold_s": 3
},
{
"label": "neutral",
"hold_s": 3
}
] ]
}, },
{ {
"id": "7", "id": "7",
"title": "Handbrake", "title": "Handbrake",
"do": "Start as you pull it up, end as you release it.", "do": "Hold the foot brake. Start as you release the handbrake, end as you pull it back up.",
"finds": "handbrake switch", "finds": "handbrake switch",
"actions": [{ "label": "handbrake", "hold_s": 3, "repeat": 2 }] "actions": [
{
"label": "handbrake",
"hold_s": 3,
"repeat": 2
}
]
}, },
{ {
"id": "8", "id": "8",
@@ -71,9 +123,18 @@
"do": "Start when switched on, end when off.", "do": "Start when switched on, end when off.",
"finds": "indicator states", "finds": "indicator states",
"actions": [ "actions": [
{ "label": "left", "hold_s": 5 }, {
{ "label": "right", "hold_s": 5 }, "label": "left",
{ "label": "hazard", "hold_s": 5 } "hold_s": 5
},
{
"label": "right",
"hold_s": 5
},
{
"label": "hazard",
"hold_s": 5
}
] ]
}, },
{ {
@@ -82,12 +143,30 @@
"do": "Start when switched on, end when off.", "do": "Start when switched on, end when off.",
"finds": "light states", "finds": "light states",
"actions": [ "actions": [
{ "label": "side lights", "hold_s": 3 }, {
{ "label": "dipped", "hold_s": 3 }, "label": "side lights",
{ "label": "main beam", "hold_s": 3 }, "hold_s": 3
{ "label": "flash", "point": true }, },
{ "label": "front fogs", "hold_s": 3 }, {
{ "label": "rear fog", "hold_s": 3 } "label": "dipped",
"hold_s": 3
},
{
"label": "main beam",
"hold_s": 3
},
{
"label": "flash",
"point": true
},
{
"label": "front fogs",
"hold_s": 3
},
{
"label": "rear fog",
"hold_s": 3
}
] ]
}, },
{ {
@@ -96,12 +175,24 @@
"do": "Start as it opens, end when it is shut. Skip what the car does not have.", "do": "Start as it opens, end when it is shut. Skip what the car does not have.",
"finds": "door switches", "finds": "door switches",
"actions": [ "actions": [
{ "label": "driver door" }, {
{ "label": "passenger door" }, "label": "driver door"
{ "label": "rear left door" }, },
{ "label": "rear right door" }, {
{ "label": "boot" }, "label": "passenger door"
{ "label": "bonnet" } },
{
"label": "rear left door"
},
{
"label": "rear right door"
},
{
"label": "boot"
},
{
"label": "bonnet"
}
] ]
}, },
{ {
@@ -110,10 +201,21 @@
"do": "Start when switched on, end when off.", "do": "Start when switched on, end when off.",
"finds": "wiper states", "finds": "wiper states",
"actions": [ "actions": [
{ "label": "wipers int", "hold_s": 5 }, {
{ "label": "wipers low", "hold_s": 5 }, "label": "wipers int",
{ "label": "wipers high", "hold_s": 5 }, "hold_s": 5
{ "label": "washer" } },
{
"label": "wipers low",
"hold_s": 5
},
{
"label": "wipers high",
"hold_s": 5
},
{
"label": "washer"
}
] ]
}, },
{ {
@@ -122,8 +224,13 @@
"do": "A/C: start on, end off. Blower: start as you turn it up, end when it is back down.", "do": "A/C: start on, end off. Blower: start as you turn it up, end when it is back down.",
"finds": "A/C request, blower", "finds": "A/C request, blower",
"actions": [ "actions": [
{ "label": "ac", "hold_s": 5 }, {
{ "label": "blower" } "label": "ac",
"hold_s": 5
},
{
"label": "blower"
}
] ]
}, },
{ {
@@ -131,7 +238,12 @@
"title": "Seatbelt", "title": "Seatbelt",
"do": "Start as it clicks in, end as it comes out.", "do": "Start as it clicks in, end as it comes out.",
"finds": "belt switch", "finds": "belt switch",
"actions": [{ "label": "belt", "hold_s": 3 }] "actions": [
{
"label": "belt",
"hold_s": 3
}
]
} }
] ]
}, },
@@ -144,19 +256,34 @@
"do": "Cold start if possible: mark as the starter turns, then idle 60 s.", "do": "Cold start if possible: mark as the starter turns, then idle 60 s.",
"finds": "starting, coolant and oil warming, idle control", "finds": "starting, coolant and oil warming, idle control",
"actions": [ "actions": [
{ "label": "engine start", "point": true }, {
{ "label": "idle", "hold_s": 60 } "label": "engine start",
"point": true
},
{
"label": "idle",
"hold_s": 60
}
] ]
}, },
{ {
"id": "15", "id": "15",
"title": "Revs", "title": "Revs",
"do": "Start when the revs are steady at the target, end as you leave it.", "do": "Neutral, clutch up. Start when the revs are steady at the target, end as you leave it.",
"finds": "engine speed against OBD rpm, throttle against pedal", "finds": "engine speed against OBD rpm, throttle against pedal",
"actions": [ "actions": [
{ "label": "rpm 1500", "hold_s": 5 }, {
{ "label": "rpm 2000", "hold_s": 5 }, "label": "rpm 1500",
{ "label": "rpm 3000", "hold_s": 5 } "hold_s": 5
},
{
"label": "rpm 2000",
"hold_s": 5
},
{
"label": "rpm 3000",
"hold_s": 5
}
] ]
}, },
{ {
@@ -164,21 +291,35 @@
"title": "Blips", "title": "Blips",
"do": "Three sharp blips of the throttle.", "do": "Three sharp blips of the throttle.",
"finds": "response timing of throttle, rpm, pressure", "finds": "response timing of throttle, rpm, pressure",
"actions": [{ "label": "blips" }] "actions": [
{
"label": "blips"
}
]
}, },
{ {
"id": "17", "id": "17",
"title": "A/C under load", "title": "A/C under load",
"do": "A/C on for 20 s, then off.", "do": "A/C on for 20 s, then off.",
"finds": "compressor clutch, idle-up", "finds": "compressor clutch, idle-up",
"actions": [{ "label": "ac", "hold_s": 20 }] "actions": [
{
"label": "ac",
"hold_s": 20
}
]
}, },
{ {
"id": "18", "id": "18",
"title": "Radiator fan", "title": "Radiator fan",
"do": "Idle until the fan cuts in, if it will; mark when you hear it.", "do": "Idle until the fan cuts in, if it will; mark when you hear it.",
"finds": "fan state, coolant threshold", "finds": "fan state, coolant threshold",
"actions": [{ "label": "fan", "point": true }] "actions": [
{
"label": "fan",
"point": true
}
]
} }
] ]
}, },
@@ -188,12 +329,21 @@
{ {
"id": "19", "id": "19",
"title": "Steady speeds", "title": "Steady speeds",
"do": "Where safe, hold each speed 10 s.", "do": "Where safe, hold each speed 10 s. Or do step 24 on the jack stands instead.",
"finds": "road and wheel speeds against OBD and GNSS speed", "finds": "road and wheel speeds against OBD and GNSS speed",
"actions": [ "actions": [
{ "label": "steady 20", "hold_s": 10 }, {
{ "label": "steady 40", "hold_s": 10 }, "label": "steady 20",
{ "label": "steady 60", "hold_s": 10 } "hold_s": 10
},
{
"label": "steady 40",
"hold_s": 10
},
{
"label": "steady 60",
"hold_s": 10
}
] ]
}, },
{ {
@@ -202,8 +352,12 @@
"do": "Start as you brake, end when stopped.", "do": "Start as you brake, end when stopped.",
"finds": "brake pressure, deceleration", "finds": "brake pressure, deceleration",
"actions": [ "actions": [
{ "label": "gentle stop" }, {
{ "label": "firm stop" } "label": "gentle stop"
},
{
"label": "firm stop"
}
] ]
}, },
{ {
@@ -211,14 +365,86 @@
"title": "Corners", "title": "Corners",
"do": "A few corners each way.", "do": "A few corners each way.",
"finds": "yaw, lateral g, wheel speed differences", "finds": "yaw, lateral g, wheel speed differences",
"actions": [{ "label": "corners" }] "actions": [
{
"label": "corners"
}
]
}, },
{ {
"id": "22", "id": "22",
"title": "Through the box", "title": "Through the box",
"do": "Each gear in turn.", "do": "Each gear in turn.",
"finds": "gear from rpm / speed", "finds": "gear from rpm / speed",
"actions": [{ "label": "gears" }] "actions": [
{
"label": "gears"
}
]
}
]
},
{
"title": "On jack stands (front wheels up, rears chocked, handbrake off)",
"steps": [
{
"id": "23",
"title": "Steering, unpowered",
"do": "Engine off, wheels in the air. Centre, full left, full right, back to centre, slowly.",
"finds": "steering angle with nothing else moving",
"actions": [
{
"label": "steer"
}
]
},
{
"id": "24",
"title": "Wheel speeds",
"do": "Engine running. Hold each speedometer reading 10 s; start when it is steady, end as you leave it.",
"finds": "vehicle and wheel speeds (fronts turning, rears still), speedometer against CAN, rpm against gear. The ABS light may come on; that is a find too.",
"actions": [
{
"label": "2nd 20",
"hold_s": 10
},
{
"label": "2nd 40",
"hold_s": 10
},
{
"label": "3rd 40",
"hold_s": 10
},
{
"label": "3rd 60",
"hold_s": 10
}
]
},
{
"id": "25",
"title": "Brake from speed",
"do": "3rd at 40 on the speedometer, clutch down, brake to a stop. Start as you brake, end when the wheels stop.",
"finds": "brake with the engine running (vacuum assist), wheel deceleration",
"actions": [
{
"label": "brake from 40",
"repeat": 2
}
]
},
{
"id": "26",
"title": "Reverse",
"do": "Reverse gear, wheels turning gently, 10 s.",
"finds": "reverse light, wheel direction (if the speeds are signed)",
"actions": [
{
"label": "reverse",
"hold_s": 10
}
]
} }
] ]
} }