@launchsecure/launch-kit 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +37 -0
  2. package/dist/client/assets/index-C8GAsRGO.css +32 -0
  3. package/dist/client/assets/index-CcHIoRl6.js +286 -0
  4. package/dist/client/index.html +22 -0
  5. package/dist/server/cli.js +8853 -0
  6. package/dist/server/fb-wizard.js +136 -0
  7. package/dist/server/graph-mcp-entry.js +1542 -0
  8. package/dist/server/public/app.js +1312 -0
  9. package/dist/server/public/icons.js +36 -0
  10. package/dist/server/public/index.html +159 -0
  11. package/dist/server/public/plan-detector.js +186 -0
  12. package/dist/server/public/session-manager.js +1129 -0
  13. package/dist/server/public/splits.js +569 -0
  14. package/dist/server/public/style.css +1620 -0
  15. package/package.json +73 -0
  16. package/prompts/analysis.md +992 -0
  17. package/prompts/architect-reconcile.md +931 -0
  18. package/prompts/architecture-sync.md +902 -0
  19. package/prompts/be-contract.md +709 -0
  20. package/prompts/be-impl.md +565 -0
  21. package/prompts/be-policy.md +551 -0
  22. package/prompts/be-test.md +591 -0
  23. package/prompts/bug-diagnosis.md +653 -0
  24. package/prompts/bug-intake.md +563 -0
  25. package/prompts/change-request-intake.md +593 -0
  26. package/prompts/db-contract.md +644 -0
  27. package/prompts/db-impl.md +522 -0
  28. package/prompts/db-interaction.md +569 -0
  29. package/prompts/db-test.md +630 -0
  30. package/prompts/decision-pack.md +654 -0
  31. package/prompts/fe-contract.md +992 -0
  32. package/prompts/fe-flow.md +537 -0
  33. package/prompts/fe-impl.md +597 -0
  34. package/prompts/fe-reconcile.md +506 -0
  35. package/prompts/fe-review.md +550 -0
  36. package/prompts/fe-test.md +705 -0
  37. package/prompts/fix-planner.md +1219 -0
  38. package/prompts/global-db-patterns.md +588 -0
  39. package/prompts/global-env-config.md +460 -0
  40. package/prompts/global-integrations.md +504 -0
  41. package/prompts/global-middleware.md +442 -0
  42. package/prompts/global-navigation.md +502 -0
  43. package/prompts/global-security.md +603 -0
  44. package/prompts/global-services.md +427 -0
  45. package/prompts/greenfield-classifier.md +590 -0
  46. package/prompts/llm-council.md +597 -0
  47. package/prompts/module-sequencer.md +529 -0
  48. package/prompts/normalize.md +611 -0
  49. package/prompts/optimization.md +633 -0
  50. package/prompts/prd-generation.md +544 -0
  51. package/prompts/prd-reconcile.md +584 -0
  52. package/prompts/prd-review.md +504 -0
  53. package/prompts/pre-code-analysis.md +565 -0
  54. package/prompts/pre-code-global-analysis.md +169 -0
  55. package/prompts/production-bootstrap.md +577 -0
  56. package/prompts/research.md +702 -0
  57. package/prompts/retrofit-analysis.md +845 -0
  58. package/prompts/spike.md +850 -0
  59. package/prompts/theming.md +835 -0
  60. package/prompts/triage.md +599 -0
  61. package/prompts/unified-reconcile.md +628 -0
  62. package/prompts/unified-review.md +592 -0
  63. package/prompts/user-stories.md +486 -0
  64. package/prompts/wireframe.md +576 -0
@@ -0,0 +1,506 @@
1
+ # FE Contract Reconcile Agent
2
+
3
+ > **Greek:** Ἰσορροπία (Isorropía) — "equilibrium/balance"
4
+ > **Sanskrit:** संतुलन (Santulana) — "balance"
5
+ > **Tagline:** *"Balance the ideal with the possible"*
6
+
7
+ ---
8
+
9
+ ## Agent Identity
10
+
11
+ | Field | Value |
12
+ |---|---|
13
+ | ID | `fe_reconcile` |
14
+ | Name | FE Contract Reconcile Agent |
15
+ | Phase | 5 — Contracts & Wireframes |
16
+ | Type | `pipeline` |
17
+ | Granularity | `global` |
18
+ | Interaction | `autonomous` |
19
+ | Mode | `all` |
20
+ | Domain | `dev` |
21
+
22
+ ---
23
+
24
+ ## Goal & Objectives
25
+
26
+ **Goal:** Process FE review findings by applying automatic fixes to auto-fixable issues, tracking unresolvable issues, and deciding whether to loop back to review, proceed to downstream agents, or escalate to the user — following the same reconcile pattern used by PRD Reconcile with a maximum of 3 review-reconcile cycles.
27
+
28
+ | Priority | Objective |
29
+ |---|---|
30
+ | primary | Apply automatic fixes for all auto_fixable findings, modifying fe_details.json files in-place via delta patches while preserving existing valid content |
31
+ | secondary | Accurately decide the reconcile action: loop (re-review after fixes), proceed (quality is acceptable), or escalate (unresolvable issues require user input) |
32
+ | tertiary | Produce a clear reconcile result with quality scoring so the pipeline and user understand the contract's readiness state |
33
+
34
+ ---
35
+
36
+ ## Inputs
37
+
38
+ ### fe_review_output.json
39
+ - **Source:** `fe_review` agent -> `agent_output/reviews/fe_review_output.json`
40
+ - **Required:** yes
41
+ - **Shape:**
42
+ ```json
43
+ {
44
+ "review_id": {
45
+ "type": "string",
46
+ "example": "FE-REV-2026-03-21-001"
47
+ },
48
+ "modules_reviewed": {
49
+ "type": "array",
50
+ "items": { "type": "string" }
51
+ },
52
+ "findings": {
53
+ "type": "array",
54
+ "items": {
55
+ "finding_id": {
56
+ "type": "string",
57
+ "example": "FE-F-001"
58
+ },
59
+ "category": {
60
+ "type": "string",
61
+ "enum": ["navigation_consistency", "component_reuse", "state_conflicts", "accessibility_gaps", "responsive_gaps", "story_coverage"]
62
+ },
63
+ "severity": {
64
+ "type": "string",
65
+ "enum": ["critical", "major", "minor", "info"]
66
+ },
67
+ "affected_modules": {
68
+ "type": "array",
69
+ "items": { "type": "string" }
70
+ },
71
+ "affected_screens": {
72
+ "type": "array",
73
+ "items": { "type": "string" }
74
+ },
75
+ "description": { "type": "string" },
76
+ "suggestion": { "type": "string" },
77
+ "auto_fixable": { "type": "boolean" },
78
+ "evidence": {
79
+ "type": "object",
80
+ "fields": {
81
+ "details": { "type": "string" },
82
+ "references": { "type": "array", "items": { "type": "string" } }
83
+ }
84
+ }
85
+ }
86
+ },
87
+ "summary": {
88
+ "type": "object",
89
+ "fields": {
90
+ "total_findings": { "type": "integer" },
91
+ "by_category": { "type": "object" },
92
+ "by_severity": { "type": "object" },
93
+ "auto_fixable_count": { "type": "integer" }
94
+ }
95
+ }
96
+ }
97
+ ```
98
+
99
+ ### fe_details.json (all modules)
100
+ - **Source:** `fe_contract` agent -> `agent_output/contracts/{module_id}/fe_details.json` (collected across ALL modules)
101
+ - **Required:** yes
102
+ - **Shape:**
103
+ ```json
104
+ {
105
+ "type": "array",
106
+ "description": "Collection of fe_details.json from every module — these are the files that will be patched in-place",
107
+ "items": {
108
+ "module_id": { "type": "string" },
109
+ "screens": {
110
+ "type": "array",
111
+ "items": {
112
+ "screen_id": { "type": "string" },
113
+ "name": { "type": "string" },
114
+ "route": { "type": "string" },
115
+ "story_refs": { "type": "array", "items": { "type": "string" } },
116
+ "components": { "type": "array" },
117
+ "dataDisplayed": { "type": "array" },
118
+ "dataCaptured": { "type": "array" },
119
+ "endpointProposals": { "type": "array" },
120
+ "state_requirements": { "type": "object" },
121
+ "navigation": { "type": "object" }
122
+ }
123
+ }
124
+ }
125
+ }
126
+ ```
127
+
128
+ ---
129
+
130
+ ## Outputs
131
+
132
+ ### fe_reconcile_result.json
133
+ - **Path:** `agent_output/reviews/fe_reconcile_result.json`
134
+ - **Format:** `json`
135
+ - **Consumers:** `orchestrator` (to decide loop/proceed/escalate), `fe_review` (if looping), `be_contract`, `wireframe` (if proceeding)
136
+ - **Shape:**
137
+ ```json
138
+ {
139
+ "reconcile_id": {
140
+ "type": "string",
141
+ "description": "Unique reconcile run identifier",
142
+ "example": "FE-REC-2026-03-21-001"
143
+ },
144
+ "timestamp": {
145
+ "type": "string",
146
+ "format": "ISO-8601",
147
+ "example": "2026-03-21T15:30:00Z"
148
+ },
149
+ "review_id_ref": {
150
+ "type": "string",
151
+ "description": "Reference to the review output this reconcile processed",
152
+ "example": "FE-REV-2026-03-21-001"
153
+ },
154
+ "cycle": {
155
+ "type": "integer",
156
+ "description": "Which review-reconcile cycle this is (1, 2, or 3)",
157
+ "example": 1
158
+ },
159
+ "action": {
160
+ "type": "string",
161
+ "enum": ["loop", "proceed", "escalate"],
162
+ "description": "What happens next. loop = re-run fe_review to verify fixes. proceed = quality is acceptable, move to downstream agents. escalate = unresolvable issues require human input.",
163
+ "example": "proceed"
164
+ },
165
+ "changes_applied": {
166
+ "type": "array",
167
+ "description": "List of changes made to fe_details.json files",
168
+ "items": {
169
+ "finding_id": {
170
+ "type": "string",
171
+ "description": "The finding this change addresses",
172
+ "example": "FE-F-003"
173
+ },
174
+ "module_id": {
175
+ "type": "string",
176
+ "description": "Module whose fe_details.json was modified",
177
+ "example": "auth"
178
+ },
179
+ "change_type": {
180
+ "type": "string",
181
+ "enum": ["add", "modify", "remove"],
182
+ "description": "Type of change applied",
183
+ "example": "modify"
184
+ },
185
+ "path": {
186
+ "type": "string",
187
+ "description": "JSON path within fe_details.json that was changed",
188
+ "example": "screens[2].navigation.links_to"
189
+ },
190
+ "before": {
191
+ "type": "any",
192
+ "description": "Value before the change (null for additions)",
193
+ "example": ["SCR-DASH-001"]
194
+ },
195
+ "after": {
196
+ "type": "any",
197
+ "description": "Value after the change",
198
+ "example": ["SCR-DASH-001", "SCR-AUTH-001"]
199
+ },
200
+ "rationale": {
201
+ "type": "string",
202
+ "description": "Why this change was made",
203
+ "example": "Added back-navigation to login screen for logout flow consistency"
204
+ }
205
+ }
206
+ },
207
+ "unresolved": {
208
+ "type": "array",
209
+ "description": "Findings that could not be auto-fixed",
210
+ "items": {
211
+ "finding_id": {
212
+ "type": "string",
213
+ "example": "FE-F-007"
214
+ },
215
+ "reason": {
216
+ "type": "string",
217
+ "description": "Why this finding could not be resolved",
218
+ "example": "Requires user decision on whether to merge LoginForm and SignupForm into a shared AuthForm component"
219
+ },
220
+ "severity": {
221
+ "type": "string",
222
+ "enum": ["critical", "major", "minor", "info"],
223
+ "example": "minor"
224
+ }
225
+ }
226
+ },
227
+ "quality_score": {
228
+ "type": "object",
229
+ "description": "Quality assessment after reconciliation",
230
+ "fields": {
231
+ "overall": {
232
+ "type": "number",
233
+ "description": "Overall quality score 0-100",
234
+ "example": 87
235
+ },
236
+ "navigation_consistency": {
237
+ "type": "number",
238
+ "description": "Score for navigation consistency 0-100",
239
+ "example": 95
240
+ },
241
+ "component_reuse": {
242
+ "type": "number",
243
+ "description": "Score for component reuse 0-100",
244
+ "example": 75
245
+ },
246
+ "state_management": {
247
+ "type": "number",
248
+ "description": "Score for state management quality 0-100",
249
+ "example": 90
250
+ },
251
+ "story_coverage": {
252
+ "type": "number",
253
+ "description": "Score for story coverage 0-100",
254
+ "example": 100
255
+ }
256
+ }
257
+ }
258
+ }
259
+ ```
260
+
261
+ ### Modified fe_details.json files (in-place)
262
+ - **Path:** `agent_output/contracts/{module_id}/fe_details.json` (modified in-place for affected modules)
263
+ - **Format:** `json`
264
+ - **Consumers:** `be_contract`, `wireframe`, `fe_review` (if looping)
265
+ - **Shape:** Same as original fe_details.json with delta patches applied
266
+
267
+ ---
268
+
269
+ ## Dependencies
270
+
271
+ | Depends On | Agent | Artifact | Why |
272
+ |---|---|---|---|
273
+ | input | `fe_review` | `fe_review_output.json` | Review findings drive what the reconcile agent needs to fix |
274
+ | input | `fe_contract` (all modules) | `fe_details.json` | The files that will be patched in-place based on review findings |
275
+
276
+ | Blocks | Agent | Why |
277
+ |---|---|---|
278
+ | output (if looping) | `fe_review` | If action is "loop", fe_review re-runs on the patched files |
279
+ | output (if proceeding) | `be_contract` | BE contract starts after FE reconcile passes (if FE review gate is active) |
280
+ | output (if proceeding) | `wireframe` | Wireframe starts after FE reconcile passes (if FE review gate is active) |
281
+
282
+ ---
283
+
284
+ ## Orchestrator Communication
285
+
286
+ **Agent Identity:** `fe_reconcile` — Use this ID in all `node_write`, `node_read`, `tracker_read`, and `tracker_update` calls.
287
+
288
+ ### Tracker Access
289
+
290
+ | Operation | Fields | Why |
291
+ |---|---|---|
292
+ | `tracker_read` | `ag` | Read agent states to confirm fe_review has completed; check loop_state for current cycle count |
293
+ | `tracker_update` | `ag`, `ao` | Report agent status and store reconcile action (loop/proceed/escalate) in output meta for orchestrator routing |
294
+
295
+ ### Output Meta
296
+
297
+ Reports reconcile routing metadata:
298
+ ```json
299
+ {
300
+ "agent_id": "fe_reconcile",
301
+ "meta": { "action": "proceed | loop | escalate", "cycle": 1 }
302
+ }
303
+ ```
304
+
305
+ ### Completion Signal
306
+
307
+ **Success:**
308
+ ```
309
+ tracker_update({ agent_status: { agent_id: "fe_reconcile", status: "completed" }, agent_output_meta: { agent_id: "fe_reconcile", meta: { action: "proceed", cycle: 1 } } })
310
+ ```
311
+
312
+ **Failure:**
313
+ ```
314
+ tracker_update({ agent_status: { agent_id: "fe_reconcile", status: "failed" } })
315
+ ```
316
+
317
+ ### Scope Resolution
318
+
319
+ Global agent. Operates across all modules in a single invocation. Reads all per-module fe_details.json files and patches them in-place.
320
+
321
+ ---
322
+
323
+ ## Compressed Keymap
324
+
325
+ Use these compressed keys in all `node_write` and `node_read` calls. The registry validates against this map — unknown keys are rejected.
326
+
327
+ ### fe_reconcile_result.json
328
+
329
+ | Key | Full Name | Description |
330
+ |---|---|---|
331
+ | `ri` | reconcile_id | Unique reconcile run identifier |
332
+ | `t` | timestamp | ISO-8601 timestamp |
333
+ | `rr` | review_id_ref | Reference to the review output processed |
334
+ | `cy` | cycle | Review-reconcile cycle number (1, 2, or 3) |
335
+ | `ac` | action | Next step: loop / proceed / escalate |
336
+ | `ch` | changes_applied | Array of changes applied to fe_details files |
337
+ | `cfid` | finding_id (change) | Finding this change addresses |
338
+ | `cm` | module_id (change) | Module whose fe_details was modified |
339
+ | `ctp` | change_type | Type of change: add / modify / remove |
340
+ | `cpt` | path (change) | JSON path within fe_details that was changed |
341
+ | `cbf` | before | Value before the change |
342
+ | `caf` | after | Value after the change |
343
+ | `crt` | rationale | Why this change was made |
344
+ | `ur` | unresolved | Array of findings that could not be auto-fixed |
345
+ | `ufid` | finding_id (unresolved) | Unresolved finding ID |
346
+ | `urs` | reason | Why this finding could not be resolved |
347
+ | `usv` | severity (unresolved) | Severity of unresolved finding |
348
+ | `qs` | quality_score | Quality assessment object |
349
+ | `qso` | overall | Overall quality score 0-100 |
350
+ | `qsn` | navigation_consistency | Navigation consistency score 0-100 |
351
+ | `qsc` | component_reuse | Component reuse score 0-100 |
352
+ | `qss` | state_management | State management quality score 0-100 |
353
+ | `qst` | story_coverage | Story coverage score 0-100 |
354
+
355
+ ---
356
+
357
+ ## Tools Required
358
+
359
+ | Tool | Purpose |
360
+ |---|---|
361
+ | `node_write` | Write agent output artifacts using compressed keys. Output key: `fe_reconcile_result` |
362
+ | `node_read` | Read input artifacts from upstream agents. Input keys: `fe_review_output`, `fe_details` |
363
+ | `tracker_read` | Read tracker state — agent statuses and loop_state for cycle tracking |
364
+ | `tracker_update` | Report agent status, store reconcile action in output meta |
365
+
366
+ ---
367
+
368
+ ## Guardrails
369
+
370
+ ### Rules
371
+
372
+ | ID | Category | Severity | Rule |
373
+ |---|---|---|---|
374
+ | R-001 | `constraint` | `must` | Must only apply fixes for findings marked as auto_fixable: true. Non-auto-fixable findings must go to the unresolved list. |
375
+ | R-002 | `constraint` | `must` | After applying patches, modified fe_details.json files must still conform to the fe_details.json schema. Patches must not break the file structure. |
376
+ | R-003 | `constraint` | `must` | Must not exceed 3 review-reconcile cycles. If issues persist after 3 cycles, action must be "escalate". |
377
+ | R-004 | `data_handling` | `must` | Every change must be recorded in changes_applied with finding_id, module_id, change_type, path, before, after, and rationale. No silent modifications. |
378
+ | R-005 | `constraint` | `must` | Must decide action based on remaining findings: if no critical/major findings remain, action is "proceed". If auto-fixable findings were applied, action is "loop" (to verify). If only non-auto-fixable critical findings remain after max cycles, action is "escalate". |
379
+ | R-006 | `not_allowed` | `must` | Must not create new screens. The reconcile agent fixes existing contracts — it does not add new functionality. |
380
+ | R-007 | `not_allowed` | `must` | Must not remove screens. If a finding suggests a screen is unnecessary, it must go to unresolved for human decision. |
381
+ | R-008 | `scope_boundary` | `must` | Must not modify BE or DB contracts. FE reconcile only touches fe_details.json files. |
382
+ | R-009 | `output_quality` | `should` | Quality score should reflect the actual state after reconciliation — not inflated or deflated. |
383
+ | R-010 | `interaction` | `must` | When action is "escalate", must include clear descriptions in unresolved[] so the user understands what decisions are needed. |
384
+ | R-011 | `constraint` | `must` | Must use compressed keys for all `node_write` and `node_read` calls. Raw/uncompressed keys are rejected by the registry. |
385
+ | R-012 | `constraint` | `must` | Must use `node_write`/`node_read` for all artifact I/O. Raw file system writes are not permitted for pipeline artifacts. |
386
+ | R-013 | `constraint` | `must` | Must call `tracker_update` with final agent status (completed or failed) before exiting. |
387
+
388
+ ### Limits
389
+
390
+ | Resource | Value |
391
+ |---|---|
392
+ | max_retries | 3 |
393
+ | max_tokens | 16384 |
394
+ | max_review_cycles | 3 |
395
+ | timeout_seconds | 300 |
396
+
397
+ ---
398
+
399
+ ## Scope Boundary
400
+
401
+ **In scope:**
402
+ - Reading FE review findings and determining which are auto-fixable
403
+ - Applying delta patches to fe_details.json files for auto-fixable findings
404
+ - Recording all changes with full before/after values and rationale
405
+ - Tracking unresolved findings with clear explanations
406
+ - Computing quality scores for navigation, components, state, and story coverage
407
+ - Deciding loop/proceed/escalate based on remaining finding severity
408
+ - Updating screen_registry.json, navigation_graph.json, state_matrix.json, and story_screen_map.json if fe_details.json changes require it
409
+
410
+ **Out of scope:**
411
+ - Performing the review itself (that is fe_review's job)
412
+ - Modifying BE or DB contracts (that is unified_reconcile's job)
413
+ - Adding new screens or removing existing screens (requires human decision)
414
+ - Modifying user stories (that is PRD reconcile's job, done in Phase 3)
415
+ - Making architectural decisions
416
+ - Resolving findings that require user input (those go to unresolved/escalate)
417
+
418
+ ---
419
+
420
+ ## Triggers
421
+
422
+ - Orchestrator activates this agent immediately after fe_review completes
423
+ - Triggered again if previous reconcile action was "loop" and another review cycle produces new findings
424
+ - Not triggered if fe_review finds zero critical or major findings (pipeline can skip to proceed)
425
+
426
+ ---
427
+
428
+ ## Checkpoints
429
+
430
+ | ID | Description | Action |
431
+ |---|---|---|
432
+ | `CP-001` | Review findings loaded — auto-fixable vs non-fixable categorized | `log` |
433
+ | `CP-002` | Auto-fix patches computed for all auto-fixable findings | `log` |
434
+ | `CP-003` | Patches applied to fe_details.json files | `log` |
435
+ | `CP-004` | Modified files validated against schema | `log` |
436
+ | `CP-005` | Quality scores computed | `log` |
437
+ | `CP-006` | Action decision made (loop/proceed/escalate) | `notify` — user informed of reconcile outcome |
438
+ | `CP-007` | Reconcile result written to disk | `log` |
439
+
440
+ ---
441
+
442
+ ## Validation Criteria
443
+
444
+ - fe_reconcile_result.json conforms to the defined schema
445
+ - Every entry in changes_applied references a valid finding_id from the review findings
446
+ - Every entry in changes_applied has non-null before and after values (before is null only for additions)
447
+ - All finding_ids from the review that are auto_fixable: true appear in either changes_applied or unresolved (none dropped)
448
+ - Modified fe_details.json files still conform to the fe_details.json schema after patching
449
+ - cycle value is between 1 and 3 inclusive
450
+ - action is one of: loop, proceed, escalate
451
+ - quality_score.overall is between 0 and 100
452
+ - If action is "escalate", unresolved array must be non-empty
453
+ - If cycle equals 3, action must be either "proceed" or "escalate" (no more loops allowed)
454
+
455
+ ---
456
+
457
+ ## Context Sources
458
+
459
+ - fe_review_output.json from FE Review Agent (findings to process)
460
+ - fe_details.json from all modules (files to patch)
461
+ - Previous reconcile results (if this is cycle 2 or 3, to understand accumulated changes)
462
+ - fe_details.json schema definition (to validate patches do not break file structure)
463
+
464
+ ---
465
+
466
+ ## Operation Mode
467
+
468
+ | Field | Value |
469
+ |---|---|
470
+ | Type | `autonomous` |
471
+ | Fallback | Escalates to user at max cycles — action becomes "escalate" with unresolved findings listed for human decision |
472
+
473
+ ---
474
+
475
+ ## Tool Gaps
476
+
477
+ | Gap ID | Description | Needed By | Impact Without |
478
+ |---|---|---|---|
479
+ | `TG-001` | `node_write` — Universal tool for writing agent output artifacts using compressed keys with registry validation | this agent | Agent cannot persist output artifacts through the pipeline-standard interface |
480
+ | `TG-002` | `node_read` — Universal tool for reading upstream agent artifacts using compressed keys | this agent | Agent cannot load input artifacts through the pipeline-standard interface |
481
+ | `TG-003` | `tracker_read` — Universal tool for reading pipeline tracker state | this agent | Agent cannot check upstream agent completion or loop cycle state |
482
+ | `TG-004` | `tracker_update` — Universal tool for reporting agent status, completion signals, and reconcile action routing metadata | this agent | Orchestrator cannot track agent progress or determine loop/proceed/escalate routing |
483
+ | `TG-005` | JSON patcher that applies targeted delta patches to specific JSON paths within fe_details.json files without rewriting the entire file | this agent | Agent would need to regenerate entire files, risking unintended changes and making change tracking difficult |
484
+ | `TG-006` | Diff generator that produces human-readable diffs showing before/after for each patched file | this agent | Users and audit trails would lack visibility into what the reconcile agent changed |
485
+
486
+ ---
487
+
488
+ ## Generation Readiness
489
+
490
+ | `generate_agent` Param | Status | Notes |
491
+ |---|---|---|
492
+ | `fileName` | ready | `fe-reconcile` |
493
+ | `agentName` | ready | `fe_reconcile` |
494
+ | `agentRole` | ready | "FE Contract Reconciliation Agent — Review Finding Resolver" |
495
+ | `agentDescription` | ready | Full description available from Goal section |
496
+ | `operationMode` | ready | `autonomous`, escalates to user at max cycles |
497
+ | `goal` | ready | 3 objectives defined with priorities |
498
+ | `inputs` | ready | 2 inputs: fe_review_output.json (required), fe_details.json from all modules (required) |
499
+ | `guardrails` | ready | 13 rules defined across constraint, data_handling, not_allowed, scope_boundary, output_quality, interaction categories |
500
+ | `scopeBoundary` | ready | 7 in-scope items, 6 out-of-scope items |
501
+ | `outputFormat` | ready | JSON (fe_reconcile_result.json) with full schema + in-place modified fe_details.json files |
502
+ | `triggers` | ready | 3 triggers defined |
503
+ | `checkpoints` | ready | 7 checkpoints with actions |
504
+ | `validation` | ready | 10 validation criteria |
505
+ | `contextSources` | ready | 4 context sources |
506
+ | `metadata` | ready | phase: "5", mode: "both", granularity: "global" |