task_graph__automaton__state_after_input_label¶
1) Identity¶
- Domain:
graph - Source package:
automaton - Scene id:
automaton - Task id:
task_graph__automaton__state_after_input_label - Objective: follow a short input string through a visible deterministic state-transition diagram and report the reached state label.
2) Scene + Task Contract¶
- Branch metadata:
query_id query_id:final_state_labelortransition_step_state_labelanswer_gt.type:stringannotation_gt.type:point_sequence- Scene contract:
- one single-panel directed state-transition diagram,
- states are labeled
A,B,C, ..., - a start arrow marks the start state,
- accepting states use a double-ring glyph as non-query visual automaton context,
- transition symbols are visible edge labels from
{0,1}, - default state count is
4..6and default input length is3..6. - Query contract:
final_state_labelasks for the state reached after reading the full input,transition_step_state_labelasks for the state reached after the firstkinput symbols,
- the simulation path is deterministic by construction for the shown input.
Program Contract¶
Program: state_label_after(simulate_dfa(transition_graph, input_string, stop_step)); output=string; annotation=point_sequence(visited_state_centers); scene=automaton; scope=state_after_input_label
Candidate set: the visible graph, tree, network, route, matrix, table, node, edge, label, weight, path, and option elements inside the state_after_input_label objective scope.
Operands: visible scene state and prompt-bound operands named by simulate_dfa, transition_graph, input_string, stop_step, visited_state_centers, automaton, state_after_input_label plus the active query_id branch.
Operation: evaluate state_label_after over the candidate set using the visible graph structure, labels, weights, directions, reachability, paths, connectivity, or option-selection constraints encoded in the program expression; generation enforces a unique final answer.
Output binding: answer uses the string schema; generation binds a unique final answer.
Annotation witnesses: annotation uses the point_sequence schema; an ordered list of pixel-space state-center points, starting at the start state and ending at the answer state.
Query ids: final_state_label, transition_step_state_label.
Reasoning Operations¶
Families: topology, state_update
3) Prompt Contract¶
- Bundle:
automaton_v1 scene_key:automatontask_key:state_after_input_label_query- Modes:
answer_only,answer_and_annotation - Answer JSON shape:
{"answer":"C"} - Answer+annotation JSON shape:
{"annotation":[[150,250],[310,190],[480,230]],"answer":"C"} - Prompt-facing annotation is an ordered list of pixel-space state-center points, starting at the start state and ending at the answer state.
4) Annotation + Trace Contract¶
- Prompt-facing annotation is the ordered
point_sequenceof visited state centers. answer_gt.valueequalsexecution_trace.answer_state_label.execution_trace.input_stringrecords the full input string.execution_trace.transition_step_countrecords the number of consumed input symbols used for the answer.execution_trace.transition_functionrecords the deterministic transition table.execution_trace.used_transition_edgesandused_transition_label_bboxesrecord the visible transition labels followed by the simulation.scene_ir.entitiesstores state geometry, transition geometry, transition labels, start-state flags, accepting-state flags, and answer-state flags.projected_annotationincludes the publicpoint_sequenceand supporting transition-label bboxes for auditing.
5) Visual Policy¶
- Rendering uses the shared graph light-panel style and role-appropriate shared font pool from
src/trace_tasks/resources/configs/domains/graph/base.yaml. - State layout, whole-image transform, edge routing, and node color are visual variation only.
- Optional shared graph context text can appear as non-answer visual context, with state annotation projected after final layout jitter.
- State labels, transition labels, and the start marker use readable text styles with recorded contrast metadata.
- The start state is haloed and has an incoming start arrow; accepting states have an inner ring but are not queried in this task.
- Post-render graph noise follows the graph-domain coordinate-preserving noise policy.
6) Determinism + Constraints¶
- Deterministic sampling/rendering from
instance_seed. - Answers and annotation come from the same finalized transition table and rendered state centers.
- No semantic auto-relaxation: failures do not weaken determinism, path consistency, or transition-label visibility.
7) Complexity + Tests¶
- Complexity components:
topology_reasoning,visual_scan,ambiguity,clutter - Tests:
tests/test_graph_relation_automaton_state_simulation_label_tasks.py - Implementation:
src/trace_tasks/tasks/graph/automaton/state_after_input_label.py - Shared scene logic:
src/trace_tasks/tasks/graph/automaton/shared/state.py - Config:
src/trace_tasks/resources/configs/domains/graph/automaton.yaml - Prompts:
src/trace_tasks/resources/prompts/graph/automaton/automaton_v1.json