fortrangoingonforty/fgof-devloop / be0a9ee

Browse files

Document devloop process supervision

Authored by mfwolffe <wolffemf@dukes.jmu.edu>
SHA
be0a9ee6da5a19c08a22e11a7a0000a3c2986a27
Parents
148536d
Tree
593145f

1 changed file

StatusFile+-
M README.md 19 4
README.mdmodified
@@ -20,7 +20,7 @@ Current v1 target:
2020
 
2121
 ## Status
2222
 
23
-Sprint 02 is in place.
23
+Sprint 03 is in place.
2424
 
2525
 Tracked today:
2626
 
@@ -32,7 +32,9 @@ Tracked today:
3232
 - `fgof-watch` integration through shaped event summaries and trigger policy
3333
 - loop-owned restart filters for directory events and minimum change counts
3434
 - watch option projection for debounce polls, hidden-path ignores, and directory-event emission
35
-- focused model and watch-bridge coverage in `fpm test`
35
+- `fgof-process` integration for one-shot build, run, and smoke command supervision
36
+- command results that retain full `process_result` output, exit, timeout, and error detail
37
+- focused model, watch-bridge, and process-supervision coverage in `fpm test`
3638
 
3739
 ## Public API Shape
3840
 
@@ -48,6 +50,9 @@ Current public procedures:
4850
 - `clear_devloop_cycle`
4951
 - `clear_devloop_decision`
5052
 - `clear_devloop_watch_summary`
53
+- `clear_devloop_command_spec`
54
+- `clear_devloop_command_result`
55
+- `clear_devloop_supervision_result`
5156
 - `devloop_backend_name`
5257
 - `clear_devloop_state`
5358
 - `start_devloop`
@@ -60,6 +65,11 @@ Current public procedures:
6065
 - `devloop_watch_failure_summary`
6166
 - `devloop_watch_options`
6267
 - `devloop_watch_trigger`
68
+- `devloop_build_command`
69
+- `devloop_run_command`
70
+- `devloop_smoke_command`
71
+- `run_devloop_command`
72
+- `run_devloop_cycle`
6373
 - `begin_devloop_cycle`
6474
 - `finish_devloop_cycle`
6575
 
@@ -70,19 +80,24 @@ Current semantics:
7080
 - `devloop_watch_summary` condenses `fgof-watch` event batches into file, directory, create, modify, remove, move, ignored, and failure counters
7181
 - `devloop_watch_options()` projects dev-loop policy into `fgof-watch` options for debounce polls, hidden-path filtering, and directory event emission
7282
 - `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`
83
+- `devloop_build_command()`, `devloop_run_command()`, and `devloop_smoke_command()` wrap `fgof-process` commands with loop roles and optional process options
84
+- `run_devloop_command()` executes one command spec and preserves the raw `process_result`, including stdout, stderr, exit code, timeout state, and process error details
85
+- `run_devloop_cycle()` starts a cycle, executes enabled build/run/smoke specs in order, skips later specs after the first failure, and feeds the outcome into `finish_devloop_cycle()`
7386
 - `begin_devloop_cycle()` increments the cycle counter and starts work only when the loop is active, idle, and policy permits the trigger
7487
 - `finish_devloop_cycle()` records success or failure and returns an explicit decision to idle, restart, or stop
7588
 - negative `max_failures` values normalize to unlimited failures
7689
 - 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
90
+- Sprint 03 is intentionally one-shot and synchronous; long-running process groups and cleanup orchestration belong to the later jobs layer
7891
 
7992
 ## Dependency
8093
 
8194
 `fgof-devloop` depends on `fgof-watch` `v0.1.0` for watch-event types and
82
-watch option projection:
95
+watch option projection, and `fgof-process` `v0.1.0` for one-shot process
96
+execution:
8397
 
8498
 ```toml
8599
 [dependencies]
100
+fgof-process = { git = "https://github.com/FortranGoingOnForty/fgof-process.git", tag = "v0.1.0" }
86101
 fgof-watch = { git = "https://github.com/FortranGoingOnForty/fgof-watch.git", tag = "v0.1.0" }
87102
 ```
88103