fortrangoingonforty/fgof-devloop / 0ff2819

Browse files

Document devloop model

Authored by mfwolffe <wolffemf@dukes.jmu.edu>
SHA
0ff281903304d11d6222e45b1387c243ecb307e9
Parents
2bbf869
Tree
a4ebc59

1 changed file

StatusFile+-
M README.md 26 2
README.mdmodified
@@ -20,13 +20,16 @@ Current v1 target:
20
 
20
 
21
 ## Status
21
 ## Status
22
 
22
 
23
-Initial scaffold is in place.
23
+Sprint 01 is in place.
24
 
24
 
25
 Tracked today:
25
 Tracked today:
26
 
26
 
27
 - package layout, CI, and standalone repo setup
27
 - package layout, CI, and standalone repo setup
28
 - local sprint plan in ignored `.docs/sprints/`
28
 - local sprint plan in ignored `.docs/sprints/`
29
-- placeholder public API for `fpm test`
29
+- stable option, trigger, cycle, decision, and state types
30
+- pure run-cycle helpers for start, finish, stop, and restart decisions
31
+- deterministic failure policy through `stop_on_failure` and `max_failures`
32
+- focused model coverage in `fpm test`
30
 
33
 
31
 ## Public API Shape
34
 ## Public API Shape
32
 
35
 
@@ -37,8 +40,29 @@ Primary modules:
37
 
40
 
38
 Current public procedures:
41
 Current public procedures:
39
 
42
 
43
+- `clear_devloop_options`
44
+- `clear_devloop_trigger`
45
+- `clear_devloop_cycle`
46
+- `clear_devloop_decision`
40
 - `devloop_backend_name`
47
 - `devloop_backend_name`
41
 - `clear_devloop_state`
48
 - `clear_devloop_state`
49
+- `start_devloop`
50
+- `stop_devloop`
51
+- `should_start_on_open`
52
+- `devloop_start_trigger`
53
+- `devloop_change_trigger`
54
+- `devloop_manual_trigger`
55
+- `begin_devloop_cycle`
56
+- `finish_devloop_cycle`
57
+
58
+Current semantics:
59
+
60
+- `devloop_options` carries run-on-start, restart-on-change, stop-on-failure, and max-failure policy
61
+- `devloop_trigger` records why work should begin, such as start, file change, or manual request
62
+- `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
64
+- 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
42
 
66
 
43
 ## Build And Test
67
 ## Build And Test
44
 
68