fortrangoingonforty/fgof-devloop / 639335c

Browse files

Document devloop watch integration

Authored by mfwolffe <wolffemf@dukes.jmu.edu>
SHA
639335c8b777a9f2f8f27aeeb442b20fdf043bb3
Parents
d0b6c98
Tree
683a2f5

1 changed file

StatusFile+-
M README.md 26 4
README.mdmodified
@@ -20,7 +20,7 @@ Current v1 target:
20
 
20
 
21
 ## Status
21
 ## Status
22
 
22
 
23
-Sprint 01 is in place.
23
+Sprint 02 is in place.
24
 
24
 
25
 Tracked today:
25
 Tracked today:
26
 
26
 
@@ -29,7 +29,10 @@ Tracked today:
29
 - stable option, trigger, cycle, decision, and state types
29
 - stable option, trigger, cycle, decision, and state types
30
 - pure run-cycle helpers for start, finish, stop, and restart decisions
30
 - pure run-cycle helpers for start, finish, stop, and restart decisions
31
 - deterministic failure policy through `stop_on_failure` and `max_failures`
31
 - deterministic failure policy through `stop_on_failure` and `max_failures`
32
-- focused model coverage in `fpm test`
32
+- `fgof-watch` integration through shaped event summaries and trigger policy
33
+- loop-owned restart filters for directory events and minimum change counts
34
+- watch option projection for debounce polls, hidden-path ignores, and directory-event emission
35
+- focused model and watch-bridge coverage in `fpm test`
33
 
36
 
34
 ## Public API Shape
37
 ## Public API Shape
35
 
38
 
@@ -44,6 +47,7 @@ Current public procedures:
44
 - `clear_devloop_trigger`
47
 - `clear_devloop_trigger`
45
 - `clear_devloop_cycle`
48
 - `clear_devloop_cycle`
46
 - `clear_devloop_decision`
49
 - `clear_devloop_decision`
50
+- `clear_devloop_watch_summary`
47
 - `devloop_backend_name`
51
 - `devloop_backend_name`
48
 - `clear_devloop_state`
52
 - `clear_devloop_state`
49
 - `start_devloop`
53
 - `start_devloop`
@@ -52,17 +56,35 @@ Current public procedures:
52
 - `devloop_start_trigger`
56
 - `devloop_start_trigger`
53
 - `devloop_change_trigger`
57
 - `devloop_change_trigger`
54
 - `devloop_manual_trigger`
58
 - `devloop_manual_trigger`
59
+- `devloop_summarize_watch_events`
60
+- `devloop_watch_failure_summary`
61
+- `devloop_watch_options`
62
+- `devloop_watch_trigger`
55
 - `begin_devloop_cycle`
63
 - `begin_devloop_cycle`
56
 - `finish_devloop_cycle`
64
 - `finish_devloop_cycle`
57
 
65
 
58
 Current semantics:
66
 Current semantics:
59
 
67
 
60
-- `devloop_options` carries run-on-start, restart-on-change, stop-on-failure, and max-failure policy
68
+- `devloop_options` carries run-on-start, restart-on-change, directory restart, hidden-path ignore, debounce, stop-on-failure, and max-failure policy
61
 - `devloop_trigger` records why work should begin, such as start, file change, or manual request
69
 - `devloop_trigger` records why work should begin, such as start, file change, or manual request
70
+- `devloop_watch_summary` condenses `fgof-watch` event batches into file, directory, create, modify, remove, move, ignored, and failure counters
71
+- `devloop_watch_options()` projects dev-loop policy into `fgof-watch` options for debounce polls, hidden-path filtering, and directory event emission
72
+- `devloop_watch_trigger()` turns successful watch summaries into change triggers while suppressing watcher failures, empty batches, directory-only batches when disabled, and batches below `min_restart_changes`
62
 - `begin_devloop_cycle()` increments the cycle counter and starts work only when the loop is active, idle, and policy permits the trigger
73
 - `begin_devloop_cycle()` increments the cycle counter and starts work only when the loop is active, idle, and policy permits the trigger
63
 - `finish_devloop_cycle()` records success or failure and returns an explicit decision to idle, restart, or stop
74
 - `finish_devloop_cycle()` records success or failure and returns an explicit decision to idle, restart, or stop
64
 - negative `max_failures` values normalize to unlimited failures
75
 - negative `max_failures` values normalize to unlimited failures
65
-- Sprint 01 is intentionally process-free so later watch and process integration can build on deterministic state transitions
76
+- negative `debounce_polls` values normalize to no debounce
77
+- Sprint 02 is intentionally process-free so later process and job integration can build on deterministic state transitions
78
+
79
+## Dependency
80
+
81
+`fgof-devloop` depends on `fgof-watch` `v0.1.0` for watch-event types and
82
+watch option projection:
83
+
84
+```toml
85
+[dependencies]
86
+fgof-watch = { git = "https://github.com/FortranGoingOnForty/fgof-watch.git", tag = "v0.1.0" }
87
+```
66
 
88
 
67
 ## Build And Test
89
 ## Build And Test
68
 
90