feat(competences): extract batch candidates
This commit is contained in:
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"
|
||||
Reference in New Issue
Block a user