From 91789a226531af01da4a0df894e412592fd3544f Mon Sep 17 00:00:00 2001 From: Ed_ Date: Sat, 2 May 2026 12:00:18 -0400 Subject: [PATCH] chore(conductor): Add new track 'Review investigation of codebase and expose/cull any hidden invisible prompting either from the system or directly that the user cannot handle for any discussion/session.' --- conductor/tracks.md | 3 ++ .../cull_hidden_prompts_20260502/index.md | 5 ++++ .../metadata.json | 8 ++++++ .../cull_hidden_prompts_20260502/plan.md | 22 +++++++++++++++ .../cull_hidden_prompts_20260502/spec.md | 28 +++++++++++++++++++ 5 files changed, 66 insertions(+) create mode 100644 conductor/tracks/cull_hidden_prompts_20260502/index.md create mode 100644 conductor/tracks/cull_hidden_prompts_20260502/metadata.json create mode 100644 conductor/tracks/cull_hidden_prompts_20260502/plan.md create mode 100644 conductor/tracks/cull_hidden_prompts_20260502/spec.md diff --git a/conductor/tracks.md b/conductor/tracks.md index 41fc8d7..a2c806f 100644 --- a/conductor/tracks.md +++ b/conductor/tracks.md @@ -239,3 +239,6 @@ This file tracks all major tracks for the project. Each track has its own detail - [x] **Track: Robust Live Simulation Verification** --- + +- [ ] **Track: Review investigation of codebase and expose/cull any hidden invisible prompting either from the system or directly that the user cannot handle for any discussion/session.** +*Link: [./tracks/cull_hidden_prompts_20260502/](./tracks/cull_hidden_prompts_20260502/)* diff --git a/conductor/tracks/cull_hidden_prompts_20260502/index.md b/conductor/tracks/cull_hidden_prompts_20260502/index.md new file mode 100644 index 0000000..a1bf3d2 --- /dev/null +++ b/conductor/tracks/cull_hidden_prompts_20260502/index.md @@ -0,0 +1,5 @@ +# Track cull_hidden_prompts_20260502 Context + +- [Specification](./spec.md) +- [Implementation Plan](./plan.md) +- [Metadata](./metadata.json) \ No newline at end of file diff --git a/conductor/tracks/cull_hidden_prompts_20260502/metadata.json b/conductor/tracks/cull_hidden_prompts_20260502/metadata.json new file mode 100644 index 0000000..556af8b --- /dev/null +++ b/conductor/tracks/cull_hidden_prompts_20260502/metadata.json @@ -0,0 +1,8 @@ +{ + "track_id": "cull_hidden_prompts_20260502", + "type": "chore", + "status": "new", + "created_at": "2026-05-02T12:00:00Z", + "updated_at": "2026-05-02T12:00:00Z", + "description": "Review investigation of codebase and expose/cull any hidden invisible prompting either from the system or directly that the user cannot handle for any discussion/session." +} diff --git a/conductor/tracks/cull_hidden_prompts_20260502/plan.md b/conductor/tracks/cull_hidden_prompts_20260502/plan.md new file mode 100644 index 0000000..e1bb8af --- /dev/null +++ b/conductor/tracks/cull_hidden_prompts_20260502/plan.md @@ -0,0 +1,22 @@ +# Implementation Plan: Expose/Cull Hidden Invisible Prompting + +## Phase 1: Audit and Identification +- [ ] Task: Audit `src/ai_client.py` to identify all hardcoded `_SYSTEM_PROMPT` strings and tool execution instructions. +- [ ] Task: Audit `src/aggregate.py` to identify all injected context markers (e.g., `[SYSTEM: FILES UPDATED]`). +- [ ] Task: Document identified hidden prompts and determine their necessity vs. redundancy. +- [ ] Task: Conductor - User Manual Verification 'Phase 1: Audit and Identification' (Protocol in workflow.md) + +## Phase 2: Expose Necessary Prompts in GUI +- [ ] Task: Modify `src/gui_2.py` to add new editable text areas in the "AI Settings" or "Project Settings" panel. + - [ ] Create fields for global system tool instructions. + - [ ] Create fields for project-specific context markers. +- [ ] Task: Update `src/app_controller.py` state initialization to load these new fields from `config.toml` and `manual_slop.toml`. +- [ ] Task: Ensure changes are correctly saved and flushed to the project files via `_flush_to_project()` and `_flush_to_config()`. +- [ ] Task: Conductor - User Manual Verification 'Phase 2: Expose Necessary Prompts in GUI' (Protocol in workflow.md) + +## Phase 3: Cull and Integrate Configured Prompts +- [ ] Task: Update `src/ai_client.py`'s `_get_combined_system_prompt()` to utilize the user-configured tool instructions from the AppController state instead of hardcoded strings. +- [ ] Task: Update `src/aggregate.py` or `src/ai_client.py` to use the user-configured context markers (like `[FILES UPDATED]`) instead of hardcoded ones. +- [ ] Task: Remove the legacy hardcoded strings from the codebase. +- [ ] Task: Run tests to ensure tool execution and context refresh still function correctly. +- [ ] Task: Conductor - User Manual Verification 'Phase 3: Cull and Integrate Configured Prompts' (Protocol in workflow.md) \ No newline at end of file diff --git a/conductor/tracks/cull_hidden_prompts_20260502/spec.md b/conductor/tracks/cull_hidden_prompts_20260502/spec.md new file mode 100644 index 0000000..22fa3b9 --- /dev/null +++ b/conductor/tracks/cull_hidden_prompts_20260502/spec.md @@ -0,0 +1,28 @@ +# Specification: Expose/Cull Hidden Invisible Prompting + +## 1. Overview +The goal of this track is to review the codebase to identify, expose, or cull any hidden or invisible prompting injected by the system during discussion/sessions. This ensures the user has full control and visibility over the exact context sent to the AI API. + +## 2. Functional Requirements +### 2.1 Identify Hardcoded Prompts +- Audit `src/ai_client.py` to identify the hardcoded `_SYSTEM_PROMPT` and any tool execution instructions appended to requests. +- Audit `src/aggregate.py` to identify headers and contextual markers injected during context aggregation (e.g., `[SYSTEM: FILES UPDATED]`). + +### 2.2 Expose Prompts in GUI +- For prompts that are necessary for the system to function (e.g., tool usage instructions, `[FILES UPDATED]` logic), expose them in the GUI (e.g., in "AI Settings" or "Project Settings"). +- Create editable text areas or configurable options so the user can modify or disable these prompts per-project or globally. +- Ensure the modified prompts are correctly persisted and loaded by the `AppController`. + +### 2.3 Cull Redundant Prompts +- Remove any legacy or redundant prompting that no longer serves a purpose or duplicates user-defined system prompts. + +## 3. Acceptance Criteria +- [ ] All hardcoded system prompts in `ai_client.py` and `aggregate.py` are identified. +- [ ] Necessary system prompts are exposed as editable fields within the GUI. +- [ ] Users can modify or disable the default tool instructions or aggregation markers. +- [ ] The `ai_client` utilizes the user-configured prompts instead of hardcoded strings. +- [ ] Unnecessary or redundant hidden prompts are removed from the codebase. + +## 4. Out of Scope +- Modifying the Tiered MMA worker prompts in `mma_prompts.py` (this track focuses on the core discussion/session loop). +- Adding a "Raw Prompt Preview" modal (this was an alternative option not selected). \ No newline at end of file