# Track Specification: GenCpp Dogfood Feedback Loop

## Overview
Establish a bidirectional feedback loop where Manual Slop is used to develop gencpp while simultaneously identifying and fixing issues in Manual Slop itself. This track focuses on validating the gencpp project setup and ensuring the feedback mechanism is functional for iterative improvement.

## Current State Audit (as of 2026-05-10)
### Already Implemented (DO NOT re-implement)
- `gencpp_project_init_20260510` track configured `manual_slop.toml` template with `[conductor].dir = .manual_slop/conductor`
- `src/paths.py:get_conductor_dir()` (line 144-156) supports project-specific conductor directory via TOML override
- `src/paths.py:_get_project_conductor_dir_from_toml()` (line 128-142) parses project TOML for conductor path

### Critical Finding: Access Restriction
**MCP tools enforce a strict allowed-paths whitelist** (see `src/mcp_client.py:88-90`):
```
_allowed_paths: set[Path] = set()
```
The whitelist is populated by `configure()` from project `file_items`. By default, **only files within `C:\projects\manual_slop`** are accessible via MCP tools.

To access `C:/projects/gencpp`, one of these must be true:
1. `C:/projects/gencpp` is added to the `file_items` of a Manual Slop session (GUI aggregation), OR
2. The user manually copies issues/findings into the Manual Slop workspace

### Gaps to Fill (This Track's Scope)
- **Gap 1**: No verification that gencpp project directory is accessible and TOML loading works
- **Gap 2**: No feedback loop mechanism for logging issues encountered while using Manual Slop with gencpp
- **Gap 3**: No systematic approach to tracking "found issues" that need fixing in Manual Slop during dogfooding
- **Gap 4**: User cannot directly browse `C:/projects/gencpp` via MCP tools due to path restrictions

## Goals
- Verify Manual Slop can load and target the gencpp project at `C:/projects/gencpp`
- Establish a "GenCpp Findings" log mechanism to capture issues found during dogfooding
- Create a simple workflow for the user to report issues and have them become track tasks
- **Resolve MCP path access restriction** so the user can browse gencpp via Manual Slop tools

## Functional Requirements
- Manual Slop must be able to select `C:/projects/gencpp` as the active project directory
- **The `.ai/` directory configuration must be recognized and loaded properly**
- A findings/journal mechanism must exist to log feedback during the dogfood session
- Issues found should be trackable and actionable
- **User must be able to browse `C:/projects/gencpp` via MCP tools without getting "ACCESS DENIED" errors**
- **Alternative**: If direct access isn't feasible, provide clear workaround (e.g., copy files to Manual Slop workspace, or use file path manually in prompts)

## Non-Functional Requirements
- Minimal overhead - the feedback loop should not slow down the coding workflow
- All feedback must be captured in a structured format for easy review
- Path resolution must work correctly for the `C:/projects/gencpp` directory

## Architecture Reference
- `src/paths.py` - Path resolution with project-specific overrides
- `src/project_manager.py` - Project loading and configuration
- `docs/guide_architecture.md` - Threading model and path resolution

## Out of Scope
- Fixing specific issues found in Manual Slop (those become separate tracks)
- Modifying the gencpp codebase directly (that's the user-controlled target)
- Implementing complex automation - this is about establishing the foundation