feat(M3): edit+rerun schema substrate — stage_inputs store, stale/human_modified columns, db 1.3.0
- Pipeline_Schema_Installer: run_stages gains human_modified + stale (stale is a COLUMN not a status: rows stay 'done' so resume code can never silently re-run them — CPO guardrail 3 by construction); run_decisions gains human_modified; new INSERT-only stage_inputs table (edit forks as immutable versions + idea seeds for re-run-from-here). All dbDelta-idempotent; PRAUTOBLOGGER_DB_VERSION 1.1.0 -> 1.3.0 (the constant never carried the documented 1.2.0) so the existing admin_init/cron self-healing migration path fires everywhere. - Run_Stage_State split (M2 pattern, was 313 lines): pipeline write bodies moved verbatim to Run_Stage_Writes (public API unchanged via thin proxies); done() now clears stale on fresh output with a half-migrated-schema retry (Cost_Tracker v0.18.0 pattern); new item-scoped read stages_for_item(). Operator-action mutations (restart/mark_stale/demote_to_pending) isolated in Run_Stage_Rerun_State — the only code allowed to demote a done row. - Audit_Writer::flag_decisions_human_modified() (guardrail 2 on run_decisions). Run_Reaper retention prunes human fork bodies (seeds kept). Uninstall covers the new table + rerun cron hooks. Agent-Session: engineer-prab-m3-20260612
This commit is contained in:
@@ -37,6 +37,8 @@ $tables = array(
|
||||
$prefix . 'run_decisions',
|
||||
$prefix . 'runs',
|
||||
$prefix . 'run_stages',
|
||||
// Edit + re-run input versions (v0.20.0 / db 1.3.0).
|
||||
$prefix . 'stage_inputs',
|
||||
);
|
||||
|
||||
foreach ( $tables as $table ) {
|
||||
@@ -93,6 +95,8 @@ $hooks = array(
|
||||
'prautoblogger_generate_queued_article',
|
||||
'prautoblogger_generate_from_idea',
|
||||
'prautoblogger_opik_dispatch',
|
||||
'prautoblogger_rerun_stage_replay',
|
||||
'prautoblogger_rerun_from_stage',
|
||||
);
|
||||
|
||||
foreach ( $hooks as $hook ) {
|
||||
|
||||
Reference in New Issue
Block a user