[1990 by GPT-5.6 Sol] Add persisted synthetic-agent and synthetic-model configuration contracts - #1993
Conversation
…hetic-model Implemented by ProPR AI using gpt-5.6-sol model. Implementation completed successfully.
|
/ultrafix |
|
🔄 Ultrafix loop started (goal: 8/10, max cycles: 10) First action:
|
Full Test Suite ResultsValidation failed during: Full test suite.
View Test Output |
|
✅ Applied the requested follow-up changes in commit e8e4761 Summary of ChangesFixed the full-suite failure in notificationPublicEntrypoint.test.ts. The isolated package fixture now provides the declared Verification:
🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
…nt.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-1993-followup-2026-08-29T23-45-15/test/notificationPublicEntrypoint.test.ts:26). Fixed the full-suite failure in [notificationPublicEntrypoint.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-1993-followup-2026-08-29T23-45-15/test/notificationPublicEntrypoint.test.ts:26). The isolated package fixture now provides the declared `zod` dependency, allowing `syntheticAgents.d.ts` and runtime exports to resolve correctly. Verification: - Shared package typecheck passed. - Targeted test passed through the repository test runner. - `git diff --check` passed. - No commit created. - Full local run reached Redis-dependent tests but could not continue because Redis/Docker is unavailable locally; CI reported no other failing files. PR: #1993 Comment by: @github-actions[bot] (ID: 5465566683) Model: gpt-5.6-sol
Full Test Suite ResultsValidation failed during: Full test suite.
View Test Output |
|
✅ Applied the requested follow-up changes in commit 7348f75 Summary of ChangesFixed the full-suite failure in The lease-expiry test now uses a wider real-clock margin while still advancing the fake clock past expiration, eliminating CI timing flakiness without changing production code. Verification passed:
No commit created. 🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
…ispatcher.test.ts`. Fixed the full-suite failure in `packages/api/test/webPushDispatcher.test.ts`. The lease-expiry test now uses a wider real-clock margin while still advancing the fake clock past expiration, eliminating CI timing flakiness without changing production code. Verification passed: - Full dispatcher test file: 17/17 - Formerly flaky test: 20 consecutive runs - API lint - API type-check - `git diff --check` No commit created. PR: #1993 Comment by: @github-actions[bot] (ID: 5465654901) Model: gpt-5.6-sol
Checks FailedValidation failed during setup, tests, CLI packaging, linting, or build checks. View Logs |
|
✅ Applied the requested follow-up changes in commit 3b965be Summary of ChangesFixed the flaky Web Push pagination regression in webPushDispatcher.test.ts. Changes:
Verification passed:
Only the intended test file is modified; no commit was created. 🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
…ispatcher.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-1993-followup-2026-08-30T00-15-15/packages/api/test/webPushDispatcher.test.ts:272). Fixed the flaky Web Push pagination regression in [webPushDispatcher.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-1993-followup-2026-08-30T00-15-15/packages/api/test/webPushDispatcher.test.ts:272). Changes: - Made fixture timestamps monotonic, guaranteeing the intended 21-row quiet-hours prefix. - Increased the test claim lease margin to avoid CI clock sensitivity. - Production code remains unchanged. Verification passed: - Formerly failing test: 10 consecutive runs - Notification server suite: 9/9 files - Notification UI suite: 15 files, 86 tests - API lint and type-check - `git diff --check` Only the intended test file is modified; no commit was created. PR: #1993 Comment by: @github-actions[bot] (ID: 5465690735) Model: gpt-5.6-sol
|
✅ AI Code Review Complete requested by @propr-ultrafix Posted 1 review: |
🔍 AI Code Review — codex:gpt-5.6-solOverall EvaluationThis PR cleanly introduces persisted synthetic-agent contracts, management APIs, reference validation, and catalog projection. It needs minor changes before merge because synthetic defaults are not preserved during direct-agent updates, and top-level synthetic IDs are not checked for uniqueness. ✅ Strong configuration boundaries — Strict Zod schemas validate formats, defaults, ranges, nested duplicates, and direct-agent model references. ✅ Safe configuration workflow — Synthetic and direct updates share the configuration lock, with post-commit publication handling and appropriate authorization. ✅ Focused verification — Persistence, API validation, deletion protection, catalog filtering, and authorization are covered, and all current-head checks pass. Merge blockersEvery finding below was introduced by this PR and must be resolved before merging. F1: 🔴 Direct updates overwrite synthetic defaults
F2: 🔴 Duplicate synthetic agent IDs accepted
SuggestionsThese are optional follow-ups and are not sent to S1: 🟢 Reconcile removed synthetic defaultsWhen a synthetic agent that currently supplies ScoreThe implementation is well structured, well tested, and has fully passing checks, but two localized correctness gaps remain in identity validation and default-agent handling. Score: 6/10 🤖 Review Details
🤖 Review by ProPR |
|
✅ Applied the requested follow-up changes in commit 9126283
Summary of ChangesImplemented F1 and F2 without committing.
Verification passed:
🤖 Implementation Details
💡 ProPR Slash Commands
🤖 Generated by ProPR |
Implemented F1 and F2 without committing. - Direct-agent updates now preserve an operational synthetic default in [configRoutesAgents.ts](/tmp/git-processor/worktrees/integry/propr/pr-1993-followup-2026-08-30T00-42-51/packages/api/routes/configRoutesAgents.ts). - Duplicate top-level synthetic agent IDs now produce an indexed validation error in [syntheticAgents.ts](/tmp/git-processor/worktrees/integry/propr/pr-1993-followup-2026-08-30T00-42-51/packages/shared/src/syntheticAgents.ts). - Added both regression tests in [syntheticAgents.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-1993-followup-2026-08-30T00-42-51/packages/api/test/syntheticAgents.test.ts). Verification passed: - 9 focused tests - Shared and API type-checks - API lint - `git diff --check` PR: #1993 Comment by: @propr-ultrafix (ID: 0) Model: gpt-5.6-sol
|
✅ AI Code Review Complete requested by @propr-ultrafix Posted 1 review: |
🔍 AI Code Review — codex:gpt-5.6-solOverall EvaluationThe PR establishes strong persisted contracts, validation, management endpoints, referential checks, and catalog projection for synthetic agents. However, it exposes synthetic agents as operational choices without adding runtime resolution, and synthetic updates can invalidate the configured default. It therefore needs significant rework before merge. ✅ Strong shared validation — The Zod schemas enforce identifiers, defaults, uniqueness, model membership, priorities, usage limits, and cross-references with actionable errors. ✅ Careful direct-agent integrity — Direct-agent deletion and modification are checked against synthetic references under the shared configuration lock. ✅ Good focused coverage — Persistence, API validation, authorization, catalog filtering, and direct-agent interactions are tested, and all current checks pass. Merge blockersEvery finding below was introduced by this PR and must be resolved before merging. F3: 🔴 Synthetic selections cannot execute
F4: 🔴 Synthetic updates can orphan the default
SuggestionsThese are optional follow-ups and are not sent to No suggestions. ScoreThe contracts and focused tests are solid, and all current checks pass, but the advertised operational behavior is disconnected from runtime execution and default integrity is not maintained. Score: 5/10 🤖 Review Details
🤖 Review by ProPR |
|
✅ Applied the requested follow-up changes in commit 8785a41
Summary of ChangesImplemented F3 and F4 using the review-approved compatibility path:
Verification passed:
Changes are uncommitted as requested. 🤖 Implementation Details
💡 ProPR Slash Commands
🤖 Generated by ProPR |
…ty path: Implemented F3 and F4 using the review-approved compatibility path: - Synthetic agents remain configurable but are excluded from the operational instance catalog. - Direct-agent updates replace synthetic defaults with an executable direct default, persist the setting, publish `settings_update`, and synchronize live registry state. - Synthetic configuration updates are rejected under the settings lock while the configured default is synthetic, preventing orphaned defaults. - Added regression coverage for catalog filtering, fallback synchronization, and rejected synthetic replacements. Verification passed: - API and root TypeScript checks - API lint - 28 focused tests - `git diff --check` Changes are uncommitted as requested. PR: #1993 Comment by: @propr-ultrafix (ID: 0) Model: gpt-5.6-sol
|
✅ AI Code Review Complete requested by @propr-ultrafix Posted 1 review: |
🔍 AI Code Review — codex:gpt-5.6-solOverall EvaluationThis PR builds a solid persistence and validation layer for synthetic agents, but it is not ready to merge and needs significant changes in catalog exposure and default-agent integrity. ✅ Strong configuration contracts — The strict Zod schemas validate identifiers, defaults, duplicate members/models/aliases, priorities, percentages, and physical agent-model references. ✅ Safe configuration updates — Synthetic and direct-agent mutations share the settings lock, preserve committed-write semantics, and protect referenced direct agents from deletion. ✅ Good focused coverage — Persistence, validation, authorization, configuration APIs, deletion protection, and catalog behavior are tested, and all current checks pass. Merge blockersEvery finding below was introduced by this PR and must be resolved before merging. F5: 🔴 Synthetic agents missing from catalog
F6: 🔴 Synthetic defaults remain writable
SuggestionsThese are optional follow-ups and are not sent to S1: 🟢 Remove unused alias parameter
ScoreThe validation, persistence, locking, and test work are strong, and all current checks pass. However, a stated catalog requirement is missing and the new configuration namespace can still produce a non-executable default. Score: 5/10 🤖 Review Details
🤖 Review by ProPR |
|
✅ Applied the requested follow-up changes in commit ba1be48
Summary of ChangesImplemented F5 and F6 only; changes remain uncommitted.
Key files: instanceCatalogRoutes.ts, configRoutes.ts, configRoutesSyntheticAgents.ts. Verification passed:
🤖 Implementation Details
💡 ProPR Slash Commands
🤖 Generated by ProPR |
Implemented F5 and F6 only; changes remain uncommitted. - `/api/instance/catalog` now includes enabled synthetic agents with stable IDs, `kind: 'synthetic'`, enabled model IDs, and defaults. - Legacy `/api/catalog` remains direct-agent-only. - Synthetic configuration updates reject defaults found in either previous or proposed synthetic sets. - Settings updates cannot assign a synthetic alias as `default_agent_alias`. Key files: [instanceCatalogRoutes.ts](/tmp/git-processor/worktrees/integry/propr/pr-1993-followup-2026-08-30T01-23-14/packages/api/routes/instanceCatalogRoutes.ts:39), [configRoutes.ts](/tmp/git-processor/worktrees/integry/propr/pr-1993-followup-2026-08-30T01-23-14/packages/api/routes/configRoutes.ts:321), [configRoutesSyntheticAgents.ts](/tmp/git-processor/worktrees/integry/propr/pr-1993-followup-2026-08-30T01-23-14/packages/api/routes/configRoutesSyntheticAgents.ts:81). Verification passed: - API and root TypeScript checks - 32 focused tests - 100 broader configuration-route tests - `git diff --check` - API lint: no errors; two pre-existing oversized-file warnings PR: #1993 Comment by: @propr-ultrafix (ID: 0) Model: gpt-5.6-sol
Checks FailedValidation failed during setup, tests, CLI packaging, linting, or build checks. View Logs |
|
✅ Applied the requested follow-up changes in commit e55cf30 Summary of ChangesFixed the PR #1993 build-check failure without committing. Changes:
Verification passed:
🤖 Implementation Details
Undo Changes • View Task Execution 💡 ProPR Slash Commands
🤖 Generated by ProPR |
Fixed the PR #1993 build-check failure without committing. Changes: - Reduced `configRoutes.ts` below ESLint’s 400-line limit. - Split contract tests into [syntheticAgentContracts.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-1993-followup-2026-08-30T01-33-24/packages/api/test/syntheticAgentContracts.test.ts), preserving all test coverage. - Reduced [syntheticAgents.test.ts](/tmp/git-processor/worktrees/integry/propr/pr-1993-followup-2026-08-30T01-33-24/packages/api/test/syntheticAgents.test.ts) below the limit. Verification passed: - API lint with `--max-warnings 0` - API TypeScript build - All 11 focused synthetic-agent tests - `git diff --check` PR: #1993 Comment by: @github-actions[bot] (ID: 5466014380) Model: gpt-5.6-sol
|
✅ AI Code Review Complete requested by @propr-ultrafix Posted 1 review: |
🔍 AI Code Review — codex:gpt-5.6-solOverall EvaluationThis PR is ready to merge. It adds persisted synthetic-agent contracts, guarded configuration endpoints, cross-configuration integrity checks, and a backward-compatible catalog path with strong focused coverage. ✅ Strong validation boundaries — Shared Zod schemas enforce defaults, uniqueness, model/member structure, and direct-agent references. ✅ Safe configuration updates — Synthetic, direct-agent, and default-setting mutations share the settings lock, with atomic persistence and explicit publication-failure handling. ✅ Compatibility preserved — Merge blockersNo merge blockers. SuggestionsThese are optional follow-ups and are not sent to S1: 🟢 Surface disable warningsWhen a direct-agent update disables the last executable member of an enabled synthetic model, ScoreThe implementation is coherent, well tested, and merge-ready, with no verified correctness or safety blockers and all authoritative checks passing. Score: 9/10 🤖 Review Details
🤖 Review by ProPR |
AI Implementation Summary
Closes #1990
Branch:
1990/gpt-5.6-sol-add-persisted-synthetic-a-20260829-2324-okpCommits: ✅ Changes committed (8b456ab)
AI Processing Completed
Execution Details:
Summary:
Implemented GitHub issue #1990.
Key changes:
synthetic_agentspersistence and core loaders/savers.GET/POST /api/config/synthetic-agentsendpoints with actionable validation errors./api/instance/catalogand retained/api/catalogcompatibility.idandkinddiscriminators.Verification passed:
Detailed Logs:
01a04fd7-967d-7973-9428-e28c36693c58Log files stored at:
/tmp/claude-logs/issue-1990-2026-08-29T23-36-26-661Z-conversation.json/tmp/claude-logs/issue-1990-2026-08-29T23-36-26-661Z-output.txtLatest Conversation Messages
This PR was created automatically by ProPR after processing issue #1990.
💡 Need changes?
Comment on this PR to request refinements — the AI agent monitors comments and will update the implementation based on your feedback. Keep iterating until you're satisfied!