feat(competences): extract batch candidates
This commit is contained in:
@@ -0,0 +1,124 @@
|
||||
schema_version: 1
|
||||
id: key_alt_f4_wait_windowsterminal_exe
|
||||
name: Key alt f4 wait windowsterminal exe
|
||||
version: 1
|
||||
learning_state: candidate
|
||||
intent:
|
||||
fr: fermer la fenêtre Bloc-notes courante avec Alt+F4
|
||||
parameters: {}
|
||||
preconditions:
|
||||
- id: source_session_available
|
||||
kind: source_trace_present
|
||||
source_session: sess_20260324T165824_55b380
|
||||
methods:
|
||||
- kind: key_combo
|
||||
primitive_ref: key_combo
|
||||
parameters:
|
||||
keys: &id001
|
||||
- alt
|
||||
- f4
|
||||
keys: *id001
|
||||
description: 'Raccourci clavier observe a l''event #72'
|
||||
id: step_1_key_combo
|
||||
observed: true
|
||||
trace_source: live_events.jsonl
|
||||
trace_event_indices:
|
||||
- 72
|
||||
- id: step_2_wait_state
|
||||
kind: wait_state
|
||||
primitive_ref: wait_for_state
|
||||
parameters:
|
||||
expected_state:
|
||||
window_title_in:
|
||||
- C:\Windows\system32\cmd.exe
|
||||
process_active: WindowsTerminal.exe
|
||||
timeout_ms: 5000
|
||||
poll_interval_ms: 250
|
||||
evidence_required: window_or_process
|
||||
description: Attente de l'etat C:\Windows\system32\cmd.exe
|
||||
observed: true
|
||||
trace_source: live_events.jsonl
|
||||
trace_event_indices:
|
||||
- 73
|
||||
success_marker:
|
||||
mode: all_of
|
||||
timeout_ms: 5000
|
||||
markers:
|
||||
- kind: active_window_title_in
|
||||
values:
|
||||
- C:\Windows\system32\cmd.exe
|
||||
- kind: active_process_name_is
|
||||
value: WindowsTerminal.exe
|
||||
supervised_requires:
|
||||
- kind: human_validation
|
||||
required_for: replay_verified
|
||||
failure_message_template:
|
||||
intention: fermer la fenêtre Bloc-notes courante (`test_hybride.txt – Bloc-notes`) avec Alt+F4
|
||||
attendu: voir Bloc-notes disparaître et la fenêtre Terminal (`C:\Windows\system32\cmd.exe` / WindowsTerminal.exe) devenir active
|
||||
vu: '{observed_human_state}'
|
||||
demande: fermer la fenêtre Bloc-notes courante puis me rendre la main
|
||||
chain_refs:
|
||||
source_session: sess_20260324T165824_55b380
|
||||
machine_id: DESKTOP-58D5CAC_windows
|
||||
cleaned_segment:
|
||||
status: documented_offline
|
||||
source_event_format: raw_live_events_jsonl
|
||||
keep_event_indices:
|
||||
- 70
|
||||
- 71
|
||||
- 72
|
||||
- 73
|
||||
method_event_indices:
|
||||
- 72
|
||||
- 73
|
||||
success_event_indices:
|
||||
- 73
|
||||
excluded_event_indices: []
|
||||
stop_before_event_index: 74
|
||||
stop_before:
|
||||
- end_of_extracted_candidate_segment
|
||||
ignored_after_success: []
|
||||
notes:
|
||||
- 'Event #72 detecte comme key_combo.'
|
||||
- 'Event #73 detecte comme wait_for_state durable.'
|
||||
workflow_pipeline_id: null
|
||||
graph_node_id: null
|
||||
faiss_state_signatures: []
|
||||
target_memory_keys: []
|
||||
dashboard_knowledge_visible: false
|
||||
live_events_path: data/training/live_sessions/DESKTOP-58D5CAC_windows/sess_20260324T165824_55b380/live_events.jsonl
|
||||
promotion:
|
||||
history:
|
||||
- at: '2026-05-29T11:10:42+02:00'
|
||||
from: observed
|
||||
to: candidate
|
||||
by: Dom
|
||||
reason: 'GO explicite: passage en candidate pour lancer les tests humains, avec ajustements runtime attendus.'
|
||||
candidate_requires:
|
||||
- cleaned_segment_validated
|
||||
- method_trace_present
|
||||
- success_marker_defined
|
||||
- failure_message_template_valid
|
||||
- primitive_ref_satisfied
|
||||
supervised_requires:
|
||||
- replay_verified_once
|
||||
- human_validation
|
||||
stable_requires:
|
||||
min_successes: 3
|
||||
distinct_contexts: 3
|
||||
max_unexplained_failures: 0
|
||||
t2_known_gaps:
|
||||
- id: alt_f4_confirmation_dialog_not_covered
|
||||
description: Le success_marker observed attend Terminal/cmd.exe après fermeture de Bloc-notes; un dialogue de confirmation Bloc-notes peut bloquer la fermeture.
|
||||
impact: Le replay runtime doit gérer le dialogue de confirmation ou distinguer ce cas avant promotion supervised/stable.
|
||||
proposed_resolution: Tester en supervision humaine; si le dialogue apparaît, élargir le success_marker ou ajouter une étape de traitement du dialogue.
|
||||
acted_by: Dom
|
||||
acted_at: '2026-05-29T11:10:42+02:00'
|
||||
generalisation:
|
||||
seen_contexts: []
|
||||
method_success_rate: {}
|
||||
variance_log: []
|
||||
failure_log: []
|
||||
created_at: '2026-05-29T07:45:33+00:00'
|
||||
last_updated_at: '2026-05-29T11:10:42+02:00'
|
||||
methods_execution: sequence
|
||||
124
data/competences/candidate/key_ctrl_s_wait_notepad_exe.yaml
Normal file
124
data/competences/candidate/key_ctrl_s_wait_notepad_exe.yaml
Normal file
@@ -0,0 +1,124 @@
|
||||
schema_version: 1
|
||||
id: key_ctrl_s_wait_notepad_exe
|
||||
name: Key ctrl s wait notepad exe
|
||||
version: 1
|
||||
learning_state: candidate
|
||||
intent:
|
||||
fr: executer l'action observee puis attendre Enregistrer sous
|
||||
parameters: {}
|
||||
preconditions:
|
||||
- id: source_session_available
|
||||
kind: source_trace_present
|
||||
source_session: sess_20260324T165824_55b380
|
||||
methods:
|
||||
- kind: key_combo
|
||||
primitive_ref: key_combo
|
||||
parameters:
|
||||
keys: &id001
|
||||
- ctrl
|
||||
- s
|
||||
keys: *id001
|
||||
description: 'Raccourci clavier observe a l''event #56'
|
||||
id: step_1_key_combo
|
||||
observed: true
|
||||
trace_source: live_events.jsonl
|
||||
trace_event_indices:
|
||||
- 56
|
||||
- id: step_2_wait_state
|
||||
kind: wait_state
|
||||
primitive_ref: wait_for_state
|
||||
parameters:
|
||||
expected_state:
|
||||
window_title_in:
|
||||
- Enregistrer sous
|
||||
process_active: Notepad.exe
|
||||
timeout_ms: 5000
|
||||
poll_interval_ms: 250
|
||||
evidence_required: window_or_process
|
||||
description: Attente de l'etat Enregistrer sous
|
||||
observed: true
|
||||
trace_source: live_events.jsonl
|
||||
trace_event_indices:
|
||||
- 57
|
||||
success_marker:
|
||||
mode: all_of
|
||||
timeout_ms: 5000
|
||||
markers:
|
||||
- kind: active_window_title_in
|
||||
values:
|
||||
- Enregistrer sous
|
||||
- kind: active_process_name_is
|
||||
value: Notepad.exe
|
||||
supervised_requires:
|
||||
- kind: human_validation
|
||||
required_for: replay_verified
|
||||
failure_message_template:
|
||||
intention: atteindre la fenetre Enregistrer sous
|
||||
attendu: voir Enregistrer sous au premier plan
|
||||
vu: '{observed_human_state}'
|
||||
demande: ouvrir Enregistrer sous puis me rendre la main
|
||||
chain_refs:
|
||||
source_session: sess_20260324T165824_55b380
|
||||
machine_id: DESKTOP-58D5CAC_windows
|
||||
cleaned_segment:
|
||||
status: documented_offline
|
||||
source_event_format: raw_live_events_jsonl
|
||||
keep_event_indices:
|
||||
- 54
|
||||
- 55
|
||||
- 56
|
||||
- 57
|
||||
method_event_indices:
|
||||
- 56
|
||||
- 57
|
||||
success_event_indices:
|
||||
- 57
|
||||
excluded_event_indices: []
|
||||
stop_before_event_index: 58
|
||||
stop_before:
|
||||
- end_of_extracted_candidate_segment
|
||||
ignored_after_success: []
|
||||
notes:
|
||||
- 'Event #56 detecte comme key_combo.'
|
||||
- 'Event #57 detecte comme wait_for_state durable.'
|
||||
workflow_pipeline_id: null
|
||||
graph_node_id: null
|
||||
faiss_state_signatures: []
|
||||
target_memory_keys: []
|
||||
dashboard_knowledge_visible: false
|
||||
live_events_path: data/training/live_sessions/DESKTOP-58D5CAC_windows/sess_20260324T165824_55b380/live_events.jsonl
|
||||
promotion:
|
||||
history:
|
||||
- at: '2026-05-29T11:10:42+02:00'
|
||||
from: observed
|
||||
to: candidate
|
||||
by: Dom
|
||||
reason: 'GO explicite: passage en candidate pour lancer les tests humains, avec ajustements runtime attendus.'
|
||||
candidate_requires:
|
||||
- cleaned_segment_validated
|
||||
- method_trace_present
|
||||
- success_marker_defined
|
||||
- failure_message_template_valid
|
||||
- primitive_ref_satisfied
|
||||
supervised_requires:
|
||||
- replay_verified_once
|
||||
- human_validation
|
||||
stable_requires:
|
||||
min_successes: 3
|
||||
distinct_contexts: 3
|
||||
max_unexplained_failures: 0
|
||||
t2_known_gaps:
|
||||
- id: save_as_requires_unsaved_notepad_document
|
||||
description: Ctrl+S n'ouvre Enregistrer sous que si le document Bloc-notes n'a pas encore de chemin de sauvegarde.
|
||||
impact: Sur un document déjà nommé, le replay peut sauvegarder silencieusement et le wait_state échouera.
|
||||
proposed_resolution: Préparer un document Bloc-notes non enregistré et modifié avant replay supervisé, ou définir une compétence séparée pour la sauvegarde silencieuse.
|
||||
acted_by: Dom
|
||||
acted_at: '2026-05-29T11:10:42+02:00'
|
||||
generalisation:
|
||||
seen_contexts: []
|
||||
method_success_rate: {}
|
||||
variance_log: []
|
||||
failure_log: []
|
||||
created_at: '2026-05-29T07:45:33+00:00'
|
||||
last_updated_at: '2026-05-29T11:10:42+02:00'
|
||||
methods_execution: sequence
|
||||
124
data/competences/candidate/key_win_r_wait_explorer_exe.yaml
Normal file
124
data/competences/candidate/key_win_r_wait_explorer_exe.yaml
Normal file
@@ -0,0 +1,124 @@
|
||||
schema_version: 1
|
||||
id: key_win_r_wait_explorer_exe
|
||||
name: Key win r wait explorer exe
|
||||
version: 1
|
||||
learning_state: candidate
|
||||
intent:
|
||||
fr: executer l'action observee puis attendre Exécuter
|
||||
parameters: {}
|
||||
preconditions:
|
||||
- id: source_session_available
|
||||
kind: source_trace_present
|
||||
source_session: sess_20260324T165824_55b380
|
||||
methods:
|
||||
- kind: key_combo
|
||||
primitive_ref: key_combo
|
||||
parameters:
|
||||
keys: &id001
|
||||
- win
|
||||
- r
|
||||
keys: *id001
|
||||
description: 'Raccourci clavier observe a l''event #3'
|
||||
id: step_1_key_combo
|
||||
observed: true
|
||||
trace_source: live_events.jsonl
|
||||
trace_event_indices:
|
||||
- 3
|
||||
- id: step_2_wait_state
|
||||
kind: wait_state
|
||||
primitive_ref: wait_for_state
|
||||
parameters:
|
||||
expected_state:
|
||||
window_title_in:
|
||||
- Exécuter
|
||||
process_active: explorer.exe
|
||||
timeout_ms: 5000
|
||||
poll_interval_ms: 250
|
||||
evidence_required: window_or_process
|
||||
description: Attente de l'etat Exécuter
|
||||
observed: true
|
||||
trace_source: live_events.jsonl
|
||||
trace_event_indices:
|
||||
- 4
|
||||
success_marker:
|
||||
mode: all_of
|
||||
timeout_ms: 5000
|
||||
markers:
|
||||
- kind: active_window_title_in
|
||||
values:
|
||||
- Exécuter
|
||||
- kind: active_process_name_is
|
||||
value: explorer.exe
|
||||
supervised_requires:
|
||||
- kind: human_validation
|
||||
required_for: replay_verified
|
||||
failure_message_template:
|
||||
intention: atteindre la fenetre Exécuter
|
||||
attendu: voir Exécuter au premier plan
|
||||
vu: '{observed_human_state}'
|
||||
demande: ouvrir Exécuter puis me rendre la main
|
||||
chain_refs:
|
||||
source_session: sess_20260324T165824_55b380
|
||||
machine_id: DESKTOP-58D5CAC_windows
|
||||
cleaned_segment:
|
||||
status: documented_offline
|
||||
source_event_format: raw_live_events_jsonl
|
||||
keep_event_indices:
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- 4
|
||||
method_event_indices:
|
||||
- 3
|
||||
- 4
|
||||
success_event_indices:
|
||||
- 4
|
||||
excluded_event_indices: []
|
||||
stop_before_event_index: 5
|
||||
stop_before:
|
||||
- end_of_extracted_candidate_segment
|
||||
ignored_after_success: []
|
||||
notes:
|
||||
- 'Event #3 detecte comme key_combo.'
|
||||
- 'Event #4 detecte comme wait_for_state durable.'
|
||||
workflow_pipeline_id: null
|
||||
graph_node_id: null
|
||||
faiss_state_signatures: []
|
||||
target_memory_keys: []
|
||||
dashboard_knowledge_visible: false
|
||||
live_events_path: data/training/live_sessions/DESKTOP-58D5CAC_windows/sess_20260324T165824_55b380/live_events.jsonl
|
||||
promotion:
|
||||
history:
|
||||
- at: '2026-05-29T11:10:42+02:00'
|
||||
from: observed
|
||||
to: candidate
|
||||
by: Dom
|
||||
reason: 'GO explicite: passage en candidate pour lancer les tests humains, avec ajustements runtime attendus.'
|
||||
candidate_requires:
|
||||
- cleaned_segment_validated
|
||||
- method_trace_present
|
||||
- success_marker_defined
|
||||
- failure_message_template_valid
|
||||
- primitive_ref_satisfied
|
||||
supervised_requires:
|
||||
- replay_verified_once
|
||||
- human_validation
|
||||
stable_requires:
|
||||
min_successes: 3
|
||||
distinct_contexts: 3
|
||||
max_unexplained_failures: 0
|
||||
t2_known_gaps:
|
||||
- id: run_dialog_preexisting_false_positive
|
||||
description: Si le dialogue Exécuter est déjà ouvert avant replay, le success_marker peut être satisfait sans action utile.
|
||||
impact: Le protocole runtime doit vérifier l'absence du dialogue Exécuter en état initial.
|
||||
proposed_resolution: Exiger un état initial sans dialogue Exécuter, ou traiter ce cas comme already_satisfied explicitement.
|
||||
acted_by: Dom
|
||||
acted_at: '2026-05-29T11:10:42+02:00'
|
||||
generalisation:
|
||||
seen_contexts: []
|
||||
method_success_rate: {}
|
||||
variance_log: []
|
||||
failure_log: []
|
||||
created_at: '2026-05-29T07:45:33+00:00'
|
||||
last_updated_at: '2026-05-29T11:10:42+02:00'
|
||||
methods_execution: sequence
|
||||
130
data/competences/candidate/open_windows_search.yaml
Normal file
130
data/competences/candidate/open_windows_search.yaml
Normal file
@@ -0,0 +1,130 @@
|
||||
schema_version: 1
|
||||
id: open_windows_search
|
||||
name: Ouvrir la recherche Windows
|
||||
version: 1
|
||||
learning_state: candidate
|
||||
|
||||
intent:
|
||||
fr: ouvrir la recherche Windows
|
||||
|
||||
parameters: {}
|
||||
|
||||
preconditions:
|
||||
- id: windows_session_active
|
||||
kind: heartbeat_present
|
||||
max_age_ms: 3000
|
||||
- id: no_blocking_system_dialog
|
||||
kind: not_window_title_matches
|
||||
pattern: "^(UAC|Windows Security|SmartScreen).*"
|
||||
- id: search_not_already_open
|
||||
kind: not_active_window
|
||||
any_of:
|
||||
- title_in: ["Rechercher", "Search"]
|
||||
- process_active: SearchHost.exe
|
||||
on_violation: already_satisfied
|
||||
|
||||
methods:
|
||||
- id: keyboard_win_s
|
||||
kind: key_combo
|
||||
primitive_ref: key_combo
|
||||
parameters:
|
||||
keys: ["win", "s"]
|
||||
keys: ["win", "s"]
|
||||
observed: true
|
||||
trace_source: live_events.jsonl
|
||||
gesture_ref: null
|
||||
- id: keyboard_win
|
||||
kind: key_combo
|
||||
primitive_ref: key_combo
|
||||
parameters:
|
||||
keys: ["win"]
|
||||
keys: ["win"]
|
||||
observed: false
|
||||
allowed_fallback: true
|
||||
gesture_ref: sys_start_menu
|
||||
|
||||
success_marker:
|
||||
mode: any_of
|
||||
timeout_ms: 5000
|
||||
markers:
|
||||
- kind: active_window_title_in
|
||||
values: ["Rechercher", "Search"]
|
||||
- kind: active_process_name_is
|
||||
value: SearchHost.exe
|
||||
supervised_requires:
|
||||
- kind: ocr_contains
|
||||
text: Rechercher
|
||||
region_hint: search_panel
|
||||
evidence_state: hypothesis_offline
|
||||
required_for: supervised_or_replay_verified
|
||||
|
||||
failure_message_template:
|
||||
intention: ouvrir la recherche Windows
|
||||
attendu: voir la fenetre Rechercher avec un champ de saisie actif
|
||||
vu: "{observed_human_state}"
|
||||
demande: ouvrir la recherche Windows puis me rendre la main
|
||||
|
||||
chain_refs:
|
||||
source_session: sess_20260527T185155_98ad9a
|
||||
machine_id: DESKTOP-58D5CAC_windows
|
||||
streaming_session_path: data/training/live_sessions/streaming_sessions/sess_20260527T185155_98ad9a.json
|
||||
live_events_path: data/training/live_sessions/DESKTOP-58D5CAC_windows/sess_20260527T185155_98ad9a/live_events.jsonl
|
||||
cleaned_segment:
|
||||
status: documented_offline
|
||||
keep_event_indices: [0, 1, 2, 3, 4, 7]
|
||||
method_event_indices: [3]
|
||||
success_event_indices: [7]
|
||||
excluded_event_indices: [5, 6]
|
||||
stop_before_event_index: 8
|
||||
stop_before:
|
||||
- continuing_search_text_input_after_success
|
||||
- systray_interaction
|
||||
- pythonw_focus
|
||||
ignored_between_method_and_success:
|
||||
- text_input_search_query_fragment
|
||||
- text_input_search_query_space
|
||||
ignored_after_success:
|
||||
- text_input_search_query
|
||||
- explorer_systray_overflow
|
||||
- pythonw_unknown_window
|
||||
notes:
|
||||
- "Le focus Rechercher/SearchHost.exe apparait juste avant key_combo a cause de la capture sur release."
|
||||
- "La preuve de succes durable est le heartbeat post-action #7, strictement apres key_combo #3."
|
||||
- "Le segment observe est non contigu: les text_input #5/#6 appartiennent a la competence suivante et sont exclus."
|
||||
- "Le segment observe s'arrete avant la suite de saisie et les clics systray/pythonw."
|
||||
workflow_pipeline_id: null
|
||||
graph_node_id: null
|
||||
faiss_state_signatures: []
|
||||
target_memory_keys: []
|
||||
dashboard_knowledge_visible: false
|
||||
|
||||
promotion:
|
||||
history:
|
||||
- at: "2026-05-28T08:28:36+02:00"
|
||||
from: observed
|
||||
to: candidate
|
||||
by: Dom
|
||||
reason: "GO explicite apres revue finale Claude/Qwen du socle competences courtes."
|
||||
candidate_requires:
|
||||
- cleaned_segment_validated
|
||||
- method_trace_present
|
||||
- success_marker_defined
|
||||
- failure_message_template_valid
|
||||
supervised_requires:
|
||||
- replay_verified_once
|
||||
- success_marker_matched_after_action
|
||||
- human_validation
|
||||
stable_requires:
|
||||
min_successes: 3
|
||||
distinct_contexts: 3
|
||||
max_unexplained_failures: 0
|
||||
|
||||
generalisation:
|
||||
seen_contexts: []
|
||||
method_success_rate: {}
|
||||
variance_log: []
|
||||
|
||||
failure_log: []
|
||||
|
||||
created_at: "2026-05-27T18:51:55+02:00"
|
||||
last_updated_at: "2026-05-28T08:28:36+02:00"
|
||||
@@ -0,0 +1,170 @@
|
||||
schema_version: 1
|
||||
id: open_windows_search_taskbar_click
|
||||
name: Ouvrir la recherche Windows par clic barre des taches
|
||||
version: 1
|
||||
learning_state: candidate
|
||||
|
||||
intent:
|
||||
fr: ouvrir la recherche Windows en cliquant le bouton Rechercher de la barre des taches
|
||||
|
||||
parameters: {}
|
||||
|
||||
preconditions:
|
||||
- id: windows_session_active
|
||||
kind: heartbeat_present
|
||||
max_age_ms: 3000
|
||||
- id: search_not_already_open
|
||||
kind: not_active_window
|
||||
any_of:
|
||||
- title_in: ["Rechercher", "Search"]
|
||||
- process_active: SearchHost.exe
|
||||
on_violation: already_satisfied
|
||||
- id: taskbar_search_button_available
|
||||
kind: ui_anchor_hint
|
||||
anchor_ref:
|
||||
text: Rechercher
|
||||
role: bouton
|
||||
automation_id: SearchButton
|
||||
parent_hint: Barre des taches
|
||||
|
||||
methods_execution: sequence
|
||||
methods:
|
||||
- id: step_1_click_taskbar_search_button
|
||||
kind: click
|
||||
primitive_ref: click_anchor
|
||||
parameters:
|
||||
anchor_ref:
|
||||
text: Rechercher
|
||||
role: bouton
|
||||
automation_id: SearchButton
|
||||
parent_hint: Barre des taches
|
||||
button: left
|
||||
click_count: 1
|
||||
description: "Clic gauche sur le bouton Rechercher de la barre des taches"
|
||||
observed: true
|
||||
trace_source: live_events.jsonl
|
||||
trace_event_indices: [2]
|
||||
- id: step_2_wait_rechercher_visible
|
||||
kind: wait_state
|
||||
primitive_ref: wait_for_state
|
||||
parameters:
|
||||
expected_state:
|
||||
window_title_in: ["Rechercher", "Search"]
|
||||
process_active: SearchHost.exe
|
||||
timeout_ms: 3000
|
||||
poll_interval_ms: 250
|
||||
evidence_required: window_or_process
|
||||
description: "Attente de l'ouverture effective de la fenetre Rechercher"
|
||||
observed: true
|
||||
trace_source: live_events.jsonl
|
||||
trace_event_indices: [3]
|
||||
|
||||
success_marker:
|
||||
mode: all_of
|
||||
timeout_ms: 5000
|
||||
markers:
|
||||
- kind: active_window_title_in
|
||||
values: ["Rechercher", "Search"]
|
||||
- kind: active_process_name_is
|
||||
value: SearchHost.exe
|
||||
supervised_requires:
|
||||
- kind: uia_anchor_name_is
|
||||
text: Rechercher
|
||||
role: bouton
|
||||
automation_id: SearchButton
|
||||
evidence_state: observed_raw_live_events
|
||||
required_for: replay_verified
|
||||
- kind: ocr_contains
|
||||
text: Rechercher
|
||||
region_hint: taskbar_search_button
|
||||
evidence_state: hypothesis_offline
|
||||
required_for: supervised_or_replay_verified
|
||||
|
||||
failure_message_template:
|
||||
intention: ouvrir la recherche Windows avec le bouton Rechercher de la barre des taches
|
||||
attendu: voir la fenetre Rechercher au premier plan
|
||||
vu: "{observed_human_state}"
|
||||
demande: cliquer sur le bouton Rechercher de la barre des taches, puis me rendre la main
|
||||
|
||||
chain_refs:
|
||||
source_session: sess_20260417T133324_30c2d0
|
||||
machine_id: windows_vm
|
||||
streaming_session_path: data/training/live_sessions/streaming_sessions/sess_20260417T133324_30c2d0.json
|
||||
live_events_path: data/training/live_sessions/windows_vm/sess_20260417T133324_30c2d0/live_events.jsonl
|
||||
cleaned_segment:
|
||||
status: documented_offline
|
||||
source_event_format: raw_live_events_jsonl
|
||||
keep_event_indices: [0, 1, 2, 3]
|
||||
method_event_indices: [2, 3]
|
||||
success_event_indices: [3]
|
||||
excluded_event_indices: [4]
|
||||
stop_before_event_index: 5
|
||||
stop_before:
|
||||
- continuing_search_text_input_after_success
|
||||
- search_result_click
|
||||
- later_notepad_and_systray_activity
|
||||
ignored_after_success:
|
||||
- text_input_search_query
|
||||
- click_search_result
|
||||
- later_notepad_actions
|
||||
- systray_stop_sequence
|
||||
notes:
|
||||
- "Les indices de ce segment sont les indices raw zero-based du live_events.jsonl, pas les indices du streaming condense."
|
||||
- "Raw live_events #2 est le mouse_click gauche sur le bouton Rechercher."
|
||||
- "Raw live_events #2 contient uia_snapshot name=Rechercher, control_type=bouton, automation_id=SearchButton, parent_path Barre des taches."
|
||||
- "Raw live_events #3 est le window_focus_change durable vers Rechercher/SearchHost.exe, avant le text_input humain raw #5."
|
||||
- "Le wait_state observe sur raw #3 remplace l'ancien marqueur streaming #1 base sur text_input humain."
|
||||
- "Le pos source [466, 767] reste uniquement dans la trace; aucune coordonnee durable n'est copiee dans ce YAML."
|
||||
workflow_pipeline_id: null
|
||||
graph_node_id: null
|
||||
faiss_state_signatures: []
|
||||
target_memory_keys: []
|
||||
dashboard_knowledge_visible: false
|
||||
|
||||
promotion:
|
||||
history:
|
||||
- at: "2026-05-28T17:16:49+02:00"
|
||||
from: observed
|
||||
to: candidate
|
||||
by: Dom
|
||||
reason: "GO explicite apres correction A1 raw #2/#3 et ACK Claude/Qwen."
|
||||
candidate_requires:
|
||||
- cleaned_segment_validated
|
||||
- method_trace_present
|
||||
- success_marker_defined
|
||||
- failure_message_template_valid
|
||||
- primitive_ref_satisfied
|
||||
- click_trace_validated
|
||||
- wait_state_trace_validated
|
||||
supervised_requires:
|
||||
- replay_verified_once
|
||||
- success_marker_matched_after_action
|
||||
- anchor_resolved_runtime
|
||||
- human_validation
|
||||
stable_requires:
|
||||
min_successes: 3
|
||||
distinct_contexts: 3
|
||||
max_unexplained_failures: 0
|
||||
t2_known_gaps:
|
||||
- id: click_target_semantics_not_observed_offline
|
||||
description: "La trace brute contient un uia_snapshot Rechercher/SearchButton, mais le validateur offline actuel ne rejoue pas la resolution d'ancre."
|
||||
impact: "Le niveau T2 doit verifier que click_anchor retrouve bien le bouton Rechercher au runtime, sans dependre du pos source."
|
||||
proposed_resolution: "Ajouter replay supervise ou resolution UIA/OCR runtime avant promotion supervised."
|
||||
acted_by: Dom
|
||||
acted_at: "2026-05-28T15:50:00+02:00"
|
||||
- id: no_ocr_offline
|
||||
description: "Aucune preuve OCR offline du libelle Rechercher n'est produite dans cette validation."
|
||||
impact: "La cible est supportee par UIA brut et par l'effet SearchHost.exe, mais pas par OCR dans le validateur actuel."
|
||||
proposed_resolution: "Verifier par OCR ou replay supervise avant promotion supervised."
|
||||
acted_by: Dom
|
||||
acted_at: "2026-05-28T15:50:00+02:00"
|
||||
|
||||
generalisation:
|
||||
seen_contexts: []
|
||||
method_success_rate: {}
|
||||
variance_log: []
|
||||
|
||||
failure_log: []
|
||||
|
||||
created_at: "2026-05-28T15:50:00+02:00"
|
||||
last_updated_at: "2026-05-28T17:16:49+02:00"
|
||||
128
data/competences/candidate/saisir_texte_word.yaml
Normal file
128
data/competences/candidate/saisir_texte_word.yaml
Normal file
@@ -0,0 +1,128 @@
|
||||
schema_version: 1
|
||||
id: saisir_texte_word
|
||||
name: Saisir du texte dans Word
|
||||
version: 1
|
||||
learning_state: candidate
|
||||
|
||||
intent:
|
||||
fr: saisir du texte dans un document Word actif
|
||||
|
||||
parameters:
|
||||
text: "Ceci est un test word !"
|
||||
|
||||
preconditions:
|
||||
- id: word_document_active
|
||||
kind: active_window
|
||||
any_of:
|
||||
- title_in: ["Document2 - Word"]
|
||||
- process_active: WINWORD.EXE
|
||||
|
||||
methods:
|
||||
- id: text_input_word_concat
|
||||
kind: text_input
|
||||
primitive_ref: text_input_focused
|
||||
parameters:
|
||||
text: "Ceci est un test word !"
|
||||
concat_rule: concat_in_order
|
||||
description: "Saisie texte par fragments dans un document Word deja focus"
|
||||
observed: true
|
||||
trace_source: live_events.jsonl
|
||||
concat_rule: "join(selected text_input events in segment)"
|
||||
reconstructed_text: "Ceci est un test word !"
|
||||
|
||||
success_marker:
|
||||
mode: all_of
|
||||
timeout_ms: 5000
|
||||
markers:
|
||||
- kind: active_window_title_in
|
||||
values: ["Document2 - Word"]
|
||||
- kind: active_process_name_is
|
||||
value: WINWORD.EXE
|
||||
- kind: text_input_reconstructed_equals
|
||||
value: "Ceci est un test word !"
|
||||
evidence_source: trace_text_input_concat
|
||||
supervised_requires:
|
||||
- kind: ocr_contains
|
||||
text: "Ceci est un test word !"
|
||||
region_hint: document_body
|
||||
evidence_state: hypothesis_offline
|
||||
required_for: supervised_or_replay_verified
|
||||
|
||||
failure_message_template:
|
||||
intention: saisir du texte dans un document Word actif
|
||||
attendu: voir le texte attendu apparaitre dans le corps du document Word
|
||||
vu: "{observed_human_state}"
|
||||
demande: placer le curseur dans le document Word puis saisir le texte attendu
|
||||
|
||||
chain_refs:
|
||||
source_session: sess_20260330T175739_6e190b
|
||||
machine_id: DESKTOP-58D5CAC_windows
|
||||
streaming_session_path: data/training/live_sessions/streaming_sessions/sess_20260330T175739_6e190b.json
|
||||
live_events_path: data/training/live_sessions/DESKTOP-58D5CAC_windows/sess_20260330T175739_6e190b/live_events.jsonl
|
||||
cleaned_segment:
|
||||
status: documented_offline
|
||||
keep_event_indices: [34, 35, 36, 37, 38, 39, 40]
|
||||
method_event_indices: [34, 35, 37, 38, 39]
|
||||
success_event_indices: [40]
|
||||
excluded_event_indices: [36]
|
||||
stop_before_event_index: 41
|
||||
stop_before:
|
||||
- extra_newline_after_text_entry
|
||||
- date_and_email_text_input_later_in_session
|
||||
- word_window_clicks_and_document_switching
|
||||
- systray_interaction
|
||||
- python_focus
|
||||
ignored_between_method_and_success:
|
||||
- heartbeat_without_window_metadata
|
||||
ignored_after_success: []
|
||||
notes:
|
||||
- "Le segment demarre apres l'ouverture/focus de Document2 - Word, qui n'est pas revendiquee par cette competence."
|
||||
- "Event #36 est un heartbeat sans metadonnees fenetre et ne fait pas partie de la saisie."
|
||||
- "Events #34/#35/#37/#38/#39 reconstruisent exactement 'Ceci est un test word !'."
|
||||
- "Event #40 est un text_input newline post-methode, utilise comme preuve que Word reste la fenetre active juste apres la saisie."
|
||||
- "Le texte visible n'est pas prouve par OCR offline; l'OCR est reserve au replay/supervised."
|
||||
workflow_pipeline_id: null
|
||||
graph_node_id: null
|
||||
faiss_state_signatures: []
|
||||
target_memory_keys: []
|
||||
dashboard_knowledge_visible: false
|
||||
|
||||
promotion:
|
||||
history:
|
||||
- at: "2026-05-28T11:05:00+02:00"
|
||||
from: observed
|
||||
to: candidate
|
||||
by: Dom
|
||||
reason: "GO explicite apres ACK Claude/Qwen du P2 observed."
|
||||
candidate_requires:
|
||||
- cleaned_segment_validated
|
||||
- method_trace_present
|
||||
- success_marker_defined
|
||||
- failure_message_template_valid
|
||||
- primitive_ref_satisfied
|
||||
supervised_requires:
|
||||
- replay_verified_once
|
||||
- success_marker_matched_after_action
|
||||
- ocr_or_replay_verified_text
|
||||
- human_validation
|
||||
stable_requires:
|
||||
min_successes: 3
|
||||
distinct_contexts: 3
|
||||
max_unexplained_failures: 0
|
||||
t2_known_gaps:
|
||||
- id: marker_continuation_human
|
||||
description: "success_event #40 est un text_input humain post-methode."
|
||||
impact: "T2 non satisfaisable tel quel: Lea ne produit pas de text_input newline supplementaire apres la methode."
|
||||
proposed_resolution: "Ajouter wait_state apres saisie ou verifier le texte par OCR/runtime avant promotion supervised."
|
||||
acted_by: Dom
|
||||
acted_at: "2026-05-28T11:50:00+02:00"
|
||||
|
||||
generalisation:
|
||||
seen_contexts: []
|
||||
method_success_rate: {}
|
||||
variance_log: []
|
||||
|
||||
failure_log: []
|
||||
|
||||
created_at: "2026-05-28T10:55:00+02:00"
|
||||
last_updated_at: "2026-05-28T11:05:00+02:00"
|
||||
149
data/competences/observed/open_application_via_run.yaml
Normal file
149
data/competences/observed/open_application_via_run.yaml
Normal file
@@ -0,0 +1,149 @@
|
||||
schema_version: 1
|
||||
id: open_application_via_run
|
||||
name: Ouvrir une application via Executer
|
||||
version: 1
|
||||
learning_state: observed
|
||||
|
||||
intent:
|
||||
fr: ouvrir une application Windows via la boite Executer
|
||||
|
||||
parameters:
|
||||
app_name: notepad
|
||||
expected_process_name: Notepad.exe
|
||||
|
||||
preconditions:
|
||||
- id: windows_session_active
|
||||
kind: heartbeat_present
|
||||
max_age_ms: 3000
|
||||
- id: no_blocking_system_dialog
|
||||
kind: not_window_title_matches
|
||||
pattern: "^(UAC|Windows Security|SmartScreen).*"
|
||||
|
||||
methods_execution: sequence
|
||||
|
||||
methods:
|
||||
- id: step_1_open_run_dialog
|
||||
kind: key_combo
|
||||
primitive_ref: key_combo
|
||||
parameters:
|
||||
keys: ["win", "r"]
|
||||
keys: ["win", "r"]
|
||||
observed: true
|
||||
trace_source: live_events.jsonl
|
||||
trace_event_indices: [3]
|
||||
description: "Ouvre la boite Executer avec Win+R"
|
||||
|
||||
- id: step_2_type_app_name
|
||||
kind: text_input
|
||||
primitive_ref: text_input_focused
|
||||
parameters:
|
||||
text: "notepad"
|
||||
concat_rule: concat_in_order
|
||||
observed: true
|
||||
trace_source: live_events.jsonl
|
||||
trace_event_indices: [6, 7, 9, 10, 11]
|
||||
concat_rule: "join(text_input fragments in segment)"
|
||||
reconstructed_text: "notepad"
|
||||
description: "Saisit le nom de l'application dans la boite Executer"
|
||||
|
||||
- id: step_3_validate_with_enter
|
||||
kind: key_combo
|
||||
primitive_ref: key_combo
|
||||
parameters:
|
||||
keys: ["enter"]
|
||||
keys: ["enter"]
|
||||
observed: false
|
||||
allowed_runtime_substitution: true
|
||||
note: "Trace humaine #13 = mouse_click sur OK. Runtime = key_combo([enter]) equivalent semantique."
|
||||
description: "Valide la boite Executer au runtime"
|
||||
|
||||
success_marker:
|
||||
mode: any_of
|
||||
timeout_ms: 5000
|
||||
markers:
|
||||
- kind: active_process_name_is
|
||||
value: Notepad.exe
|
||||
supervised_requires:
|
||||
- kind: active_process_name_is
|
||||
value: Notepad.exe
|
||||
evidence_state: observed_offline
|
||||
required_for: replay_verified
|
||||
|
||||
failure_message_template:
|
||||
intention: ouvrir l'application demandee via la boite Executer
|
||||
attendu: voir la fenetre principale de l'application attendue au premier plan
|
||||
vu: "{observed_human_state}"
|
||||
demande: confirmer que l'application est installee sur ce poste, ou m'indiquer un autre moyen de l'ouvrir
|
||||
|
||||
chain_refs:
|
||||
source_session: sess_20260324T165824_55b380
|
||||
machine_id: DESKTOP-58D5CAC_windows
|
||||
streaming_session_path: data/training/live_sessions/streaming_sessions/sess_20260324T165824_55b380.json
|
||||
live_events_path: data/training/live_sessions/DESKTOP-58D5CAC_windows/sess_20260324T165824_55b380/live_events.jsonl
|
||||
cleaned_segment:
|
||||
status: documented_offline
|
||||
keep_event_indices: [3, 4, 6, 7, 9, 10, 11, 16]
|
||||
method_event_indices: [3, 6, 7, 9, 10, 11]
|
||||
success_event_indices: [16]
|
||||
excluded_event_indices: [5, 8, 12, 13, 14, 15]
|
||||
stop_before_event_index: 17
|
||||
stop_before:
|
||||
- heartbeat_post_notepad_focus
|
||||
- later_session_activity
|
||||
ignored_between_method_and_success:
|
||||
- action_result_open_run_dialog
|
||||
- heartbeat_without_window_metadata
|
||||
- human_mouse_click_ok_replaced_by_enter_runtime
|
||||
- program_manager_transit_focus
|
||||
- generic_action_result
|
||||
notes:
|
||||
- "Event #3 ouvre la boite Executer via Win+R."
|
||||
- "Events #6/#7/#9/#10/#11 reconstruisent exactement 'notepad'."
|
||||
- "Event #13 est un mouse_click humain sur OK sans anchor_ref; il est exclu de la methode runtime."
|
||||
- "Au runtime, key_combo([enter]) remplace le mouse_click humain pour valider la boite Executer."
|
||||
- "Event #16 prouve le succes par focus_change vers Notepad.exe."
|
||||
workflow_pipeline_id: null
|
||||
graph_node_id: null
|
||||
faiss_state_signatures: []
|
||||
target_memory_keys: []
|
||||
dashboard_knowledge_visible: false
|
||||
|
||||
promotion:
|
||||
candidate_requires:
|
||||
- cleaned_segment_validated
|
||||
- method_trace_present
|
||||
- success_marker_defined
|
||||
- failure_message_template_valid
|
||||
- primitive_ref_satisfied
|
||||
- methods_sequence_valid
|
||||
supervised_requires:
|
||||
- replay_verified_once
|
||||
- success_marker_matched_after_action
|
||||
- human_validation
|
||||
stable_requires:
|
||||
min_successes: 3
|
||||
distinct_contexts: 3
|
||||
max_unexplained_failures: 0
|
||||
t2_known_gaps:
|
||||
- id: enter_action_not_in_trace
|
||||
description: "Le mouse_click #13 valide la boite Executer; aucun key_combo([enter]) n'est dans la trace."
|
||||
impact: "Au runtime, Lea emet key_combo([enter]) sans preuve directe dans cette trace humaine."
|
||||
proposed_resolution: "Au replay supervise, utiliser active_process_name_is=Notepad.exe comme preuve de validation."
|
||||
acted_by: Dom
|
||||
acted_at: "2026-05-28T12:45:00+02:00"
|
||||
- id: mouse_click_replaced_by_keyboard_at_runtime
|
||||
description: "La methode runtime diverge de la trace humaine: mouse_click remplace par key_combo([enter])."
|
||||
impact: "La validation T2 doit confirmer que key_combo([enter]) est equivalent fonctionnel dans la boite Executer."
|
||||
proposed_resolution: "Verifier au replay supervise sur plusieurs applications Windows simples."
|
||||
acted_by: Dom
|
||||
acted_at: "2026-05-28T12:45:00+02:00"
|
||||
|
||||
generalisation:
|
||||
seen_contexts: []
|
||||
method_success_rate: {}
|
||||
variance_log: []
|
||||
|
||||
failure_log: []
|
||||
|
||||
created_at: "2026-05-28T12:45:00+02:00"
|
||||
last_updated_at: "2026-05-28T12:45:00+02:00"
|
||||
118
data/competences/observed/saisir_requete_recherche.yaml
Normal file
118
data/competences/observed/saisir_requete_recherche.yaml
Normal file
@@ -0,0 +1,118 @@
|
||||
schema_version: 1
|
||||
id: saisir_requete_recherche
|
||||
name: Saisir une requete dans la recherche Windows
|
||||
version: 1
|
||||
learning_state: observed
|
||||
|
||||
intent:
|
||||
fr: saisir du texte dans le champ de recherche Windows
|
||||
|
||||
parameters:
|
||||
query_text: "test lea apprentissage"
|
||||
|
||||
preconditions:
|
||||
- id: open_windows_search_satisfied
|
||||
kind: competence_required
|
||||
competence: open_windows_search
|
||||
state: observed
|
||||
- id: search_field_active
|
||||
kind: active_window
|
||||
any_of:
|
||||
- title_in: ["Rechercher", "Search"]
|
||||
- process_active: SearchHost.exe
|
||||
|
||||
methods:
|
||||
- id: text_input_concat
|
||||
kind: text_input
|
||||
primitive_ref: text_input_focused
|
||||
parameters:
|
||||
text: "test lea apprentissage"
|
||||
concat_rule: concat_in_order
|
||||
description: "Saisie texte par fragments dans le champ Rechercher"
|
||||
observed: true
|
||||
trace_source: live_events.jsonl
|
||||
# Les text_input atomises sont concatenes pour former le texte complet
|
||||
concat_rule: "join(all text_input events in segment)"
|
||||
reconstructed_text: "test lea apprentissage"
|
||||
# Note: event #12 "pprentissage" n'est PAS un mot complet
|
||||
# Il complete event #10 "a" pour former "apprentissage"
|
||||
|
||||
success_marker:
|
||||
mode: all_of
|
||||
timeout_ms: 5000
|
||||
markers:
|
||||
- kind: active_window_title_in
|
||||
values: ["Rechercher", "Search"]
|
||||
- kind: active_process_name_is
|
||||
value: SearchHost.exe
|
||||
- kind: text_input_reconstructed_equals
|
||||
value: "test lea apprentissage"
|
||||
evidence_source: trace_text_input_concat
|
||||
supervised_requires:
|
||||
- kind: ocr_contains
|
||||
text: "test lea apprentissage"
|
||||
region_hint: search_field
|
||||
evidence_state: hypothesis_offline
|
||||
required_for: supervised_or_replay_verified
|
||||
|
||||
failure_message_template:
|
||||
intention: saisir du texte dans la recherche Windows
|
||||
attendu: voir le texte saisi apparaitre dans le champ Rechercher
|
||||
vu: "{observed_human_state}"
|
||||
demande: saisir le texte attendu dans le champ Rechercher puis me rendre la main
|
||||
|
||||
chain_refs:
|
||||
source_session: sess_20260527T185155_98ad9a
|
||||
machine_id: DESKTOP-58D5CAC_windows
|
||||
streaming_session_path: data/training/live_sessions/streaming_sessions/sess_20260527T185155_98ad9a.json
|
||||
live_events_path: data/training/live_sessions/DESKTOP-58D5CAC_windows/sess_20260527T185155_98ad9a/live_events.jsonl
|
||||
cleaned_segment:
|
||||
status: documented_offline
|
||||
keep_event_indices: [5, 6, 7, 8, 9, 10, 11, 12, 13]
|
||||
method_event_indices: [5, 6, 8, 9, 10, 12]
|
||||
success_event_indices: [7, 11, 13]
|
||||
excluded_event_indices: []
|
||||
stop_before_event_index: 14
|
||||
stop_before:
|
||||
- mouse_click_systray
|
||||
- explorer_overflow_window
|
||||
- pythonw_unknown_focus
|
||||
ignored_after_success: []
|
||||
notes:
|
||||
- "Events #5/#6 sont exclus du P0 (open_windows_search) car ils appartiennent a la saisie P1 apres Win+S."
|
||||
- "P1 commence a #5, la premiere saisie apres l'ouverture de la recherche"
|
||||
- "Event #7 heartbeat post-action P0, confirme que SearchHost.exe est actif pendant la saisie"
|
||||
- "Event #12 'pprentissage' complete #10 'a' pour former 'apprentissage'"
|
||||
- "Texte reconstruit: 'test lea apprentissage' (22 chars)"
|
||||
workflow_pipeline_id: null
|
||||
graph_node_id: null
|
||||
faiss_state_signatures: []
|
||||
target_memory_keys: []
|
||||
dashboard_knowledge_visible: false
|
||||
|
||||
promotion:
|
||||
candidate_requires:
|
||||
- cleaned_segment_validated
|
||||
- method_trace_present
|
||||
- success_marker_defined
|
||||
- failure_message_template_valid
|
||||
- competence_dependency_satisfied
|
||||
supervised_requires:
|
||||
- replay_verified_once
|
||||
- success_marker_matched_after_action
|
||||
- ocr_or_replay_verified_text
|
||||
- human_validation
|
||||
stable_requires:
|
||||
min_successes: 3
|
||||
distinct_contexts: 3
|
||||
max_unexplained_failures: 0
|
||||
|
||||
generalisation:
|
||||
seen_contexts: []
|
||||
method_success_rate: {}
|
||||
variance_log: []
|
||||
|
||||
failure_log: []
|
||||
|
||||
created_at: "2026-05-27T18:51:55+02:00"
|
||||
last_updated_at: "2026-05-28T08:13:52+02:00"
|
||||
118
data/competences/observed/scroll_down_pdf_edge.yaml
Normal file
118
data/competences/observed/scroll_down_pdf_edge.yaml
Normal file
@@ -0,0 +1,118 @@
|
||||
schema_version: 1
|
||||
id: scroll_down_pdf_edge
|
||||
name: Scroller vers le bas dans un PDF Edge
|
||||
version: 1
|
||||
learning_state: observed
|
||||
|
||||
intent:
|
||||
fr: faire defiler un document PDF vers le bas dans Microsoft Edge
|
||||
|
||||
parameters: {}
|
||||
|
||||
preconditions:
|
||||
- id: edge_pdf_active
|
||||
kind: active_window
|
||||
any_of:
|
||||
- process_active: msedge.exe
|
||||
|
||||
methods:
|
||||
- id: scroll_down_mouse
|
||||
kind: scroll
|
||||
primitive_ref: scroll_view
|
||||
parameters:
|
||||
direction: down
|
||||
amount: 9
|
||||
unit: lines
|
||||
description: "Scroll vers le bas via molette souris dans un PDF Edge"
|
||||
observed: true
|
||||
trace_source: live_events.jsonl
|
||||
trace_event_indices: [129, 130, 131, 133, 134, 135, 137, 138, 139]
|
||||
|
||||
success_marker:
|
||||
mode: all_of
|
||||
timeout_ms: 5000
|
||||
markers:
|
||||
- kind: active_process_name_is
|
||||
value: msedge.exe
|
||||
supervised_requires:
|
||||
- kind: ocr_contains
|
||||
text: "contenu different apres scroll"
|
||||
region_hint: document_body
|
||||
evidence_state: hypothesis_offline
|
||||
required_for: supervised_or_replay_verified
|
||||
|
||||
failure_message_template:
|
||||
intention: faire defiler le PDF vers le bas
|
||||
attendu: le contenu visible doit changer apres le defilement
|
||||
vu: "{observed_human_state}"
|
||||
demande: indiquer si le document PDF actif peut defiler vers le bas
|
||||
|
||||
chain_refs:
|
||||
source_session: sess_20260318T010719_62a058
|
||||
machine_id: DESKTOP-58D5CAC_windows
|
||||
streaming_session_path: data/training/live_sessions/streaming_sessions/sess_20260318T010719_62a058.json
|
||||
live_events_path: data/training/live_sessions/DESKTOP-58D5CAC_windows/sess_20260318T010719_62a058/live_events.jsonl
|
||||
cleaned_segment:
|
||||
status: documented_offline
|
||||
keep_event_indices: [126, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140]
|
||||
method_event_indices: [129, 130, 131, 133, 134, 135, 137, 138, 139]
|
||||
success_event_indices: [140]
|
||||
excluded_event_indices: [127, 128]
|
||||
stop_before_event_index: 141
|
||||
stop_before:
|
||||
- subsequent_scroll_bursts
|
||||
- heartbeat_without_window_metadata_later_in_session
|
||||
ignored_between_method_and_success: []
|
||||
notes:
|
||||
- "Event #126 focus vers msedge.exe avec le PDF RapportS1 actif."
|
||||
- "Events #129/#130/#131/#133/#134/#135/#137/#138/#139 sont des mouse_scroll dans msedge.exe."
|
||||
- "Tous les events de methode ont delta [0, -1], ce qui prouve direction=down pour cette trace."
|
||||
- "Events #132 et #136 sont des heartbeats sans metadonnees fenetre au milieu du burst."
|
||||
- "Events #127/#128 sont un clic de positionnement et son action_result avant le burst scroll; ils sont exclus."
|
||||
- "Event #140 est le premier mouse_scroll post-methode avec msedge.exe encore actif; il prouve la continuite active, pas le changement de contenu."
|
||||
workflow_pipeline_id: null
|
||||
graph_node_id: null
|
||||
faiss_state_signatures: []
|
||||
target_memory_keys: []
|
||||
dashboard_knowledge_visible: false
|
||||
|
||||
promotion:
|
||||
candidate_requires:
|
||||
- cleaned_segment_validated
|
||||
- method_trace_present
|
||||
- success_marker_defined
|
||||
- failure_message_template_valid
|
||||
- primitive_ref_satisfied
|
||||
- scroll_trace_validated
|
||||
supervised_requires:
|
||||
- replay_verified_once
|
||||
- success_marker_matched_after_action
|
||||
- ocr_or_replay_verified_scroll_effect
|
||||
- human_validation
|
||||
stable_requires:
|
||||
min_successes: 3
|
||||
distinct_contexts: 3
|
||||
max_unexplained_failures: 0
|
||||
t2_known_gaps:
|
||||
- id: scroll_effect_not_observed_offline
|
||||
description: "La trace prouve les mouse_scroll et la fenetre active, mais pas le changement visuel du contenu PDF."
|
||||
impact: "Le niveau T2 doit verifier que le viewport ou le texte visible change apres le scroll."
|
||||
proposed_resolution: "Ajouter OCR runtime, screenshot diff ou marker visuel avant promotion supervised."
|
||||
acted_by: Dom
|
||||
acted_at: "2026-05-28T14:20:00+02:00"
|
||||
- id: no_ocr_offline
|
||||
description: "Aucune preuve OCR avant/apres scroll n'est disponible dans cette validation offline."
|
||||
impact: "Le success_marker offline reste une preuve de continuite active, pas une preuve de contenu different."
|
||||
proposed_resolution: "Verifier par OCR ou replay supervise avant promotion supervised."
|
||||
acted_by: Dom
|
||||
acted_at: "2026-05-28T14:20:00+02:00"
|
||||
|
||||
generalisation:
|
||||
seen_contexts: []
|
||||
method_success_rate: {}
|
||||
variance_log: []
|
||||
|
||||
failure_log: []
|
||||
|
||||
created_at: "2026-05-28T14:20:00+02:00"
|
||||
last_updated_at: "2026-05-28T14:20:00+02:00"
|
||||
Reference in New Issue
Block a user