[P1] Route DeepSeek Harness settings and config editing through AgentProlog config #131

Closed
opened 2026-08-19 16:56:12 +00:00 by lost-rob0t · 1 comment
lost-rob0t commented 2026-08-19 16:56:12 +00:00 (Migrated from github.com)

Parent: #126
Depends on: #127. Integrates with #124/#125.

Goal

Remove frontend-local configuration ownership from the DeepSeek Harness path and make its settings/configuration UI a client of the canonical AgentProlog configuration runtime.

Required behavior

  • replace the private deepseek-harness.json settings authority with AgentProlog configuration resolution;
  • support XDG executable config.prolog as the primary user config;
  • support JSON only through the AgentProlog JSON loader/adapter, not as a competing runtime;
  • expose bridge commands for config inspect/effective/edit/reload with provenance;
  • editing config through Harness is a normal AgentProlog file mutation and must pass the canonical authority boundary;
  • authorized writes must use atomic replacement where practical and leave the config file mode 0600;
  • Harness may provide an editor/open-config action, but it does not interpret or rewrite Prolog semantics in TypeScript;
  • project config editing/execution follows #127 structured project trust and project identity;
  • project trust permits config execution only; it does not grant tool/effect authority;
  • provider/model changes survive restart through the canonical config runtime;
  • OpenRouter remains a normal/default route and direct DeepSeek remains optional;
  • config UI must not display or persist resolved credential secrets;
  • config reload must not replace canonical lossless conversation history or reactivate Harness stock compaction/agent-loop semantics.

Acceptance

  • Harness starts with only XDG AgentProlog config.prolog present.
  • Harness starts with JSON configuration loaded through AgentProlog.
  • Harness can request an authority-mediated edit/write of the user's config and the resulting file is 0600.
  • Invalid edits fail atomically and leave the previous valid config active.
  • Provider/model changes made through Harness survive restart.
  • Direct DeepSeek can be absent entirely while OpenRouter works.
  • Existing private DeepSeek settings are not a second live source of truth.
  • Trusted project config changes are reflected after canonical reload with provenance.
  • Untrusted project config is not executed merely because Harness opened the repository.
  • Config UI cannot write credentials or bypass normal AgentProlog file-mutation authority.
  • Tests cover Node -> bridge -> Prolog config inspect/edit/reload composition and mode enforcement.
Parent: #126 Depends on: #127. Integrates with #124/#125. ## Goal Remove frontend-local configuration ownership from the DeepSeek Harness path and make its settings/configuration UI a client of the canonical AgentProlog configuration runtime. ## Required behavior - replace the private `deepseek-harness.json` settings authority with AgentProlog configuration resolution; - support XDG executable `config.prolog` as the primary user config; - support JSON only through the AgentProlog JSON loader/adapter, not as a competing runtime; - expose bridge commands for config inspect/effective/edit/reload with provenance; - editing config through Harness is a normal AgentProlog file mutation and must pass the canonical authority boundary; - authorized writes must use atomic replacement where practical and leave the config file mode `0600`; - Harness may provide an editor/open-config action, but it does not interpret or rewrite Prolog semantics in TypeScript; - project config editing/execution follows #127 structured project trust and project identity; - project trust permits config execution only; it does not grant tool/effect authority; - provider/model changes survive restart through the canonical config runtime; - OpenRouter remains a normal/default route and direct DeepSeek remains optional; - config UI must not display or persist resolved credential secrets; - config reload must not replace canonical lossless conversation history or reactivate Harness stock compaction/agent-loop semantics. ## Acceptance - [ ] Harness starts with only XDG AgentProlog `config.prolog` present. - [ ] Harness starts with JSON configuration loaded through AgentProlog. - [ ] Harness can request an authority-mediated edit/write of the user's config and the resulting file is `0600`. - [ ] Invalid edits fail atomically and leave the previous valid config active. - [ ] Provider/model changes made through Harness survive restart. - [ ] Direct DeepSeek can be absent entirely while OpenRouter works. - [ ] Existing private DeepSeek settings are not a second live source of truth. - [ ] Trusted project config changes are reflected after canonical reload with provenance. - [ ] Untrusted project config is not executed merely because Harness opened the repository. - [ ] Config UI cannot write credentials or bypass normal AgentProlog file-mutation authority. - [ ] Tests cover Node -> bridge -> Prolog config inspect/edit/reload composition and mode enforcement.
Owner

Child of #126; closed with the epic under the restored canonical boundary (#141, 2026-08-31): AgentProlog product configuration/UX belongs to lost-rob0t/agentProlog, and this is not a current prolog-rlm gap blocking a coding agent. Re-file in the product repo if still wanted.

Child of #126; closed with the epic under the restored canonical boundary (#141, 2026-08-31): AgentProlog product configuration/UX belongs to lost-rob0t/agentProlog, and this is not a current prolog-rlm gap blocking a coding agent. Re-file in the product repo if still wanted.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/prolog-rlm#131
No description provided.