63 lines
2.5 KiB
Markdown
63 lines
2.5 KiB
Markdown
# Phase 11: Synthesis and Config Layer - Discussion Log
|
|||
|
|
|
||
|
|
> **Audit trail only.** Do not use as input to planning, research, or execution agents.
|
||
|
|
> Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
|
||
|
|
|
||
|
|
**Date:** 2026-03-27
|
||
|
|
**Phase:** 11-synthesis-and-config-layer
|
||
|
|
**Areas discussed:** Group header format, TOML groups schema, LDAP/Kerberos/Syslog handling
|
||
|
|
**Mode:** --auto (all decisions auto-selected)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Group Header Format in PrintConfig
|
||
|
|
|
||
|
|
| Option | Description | Selected |
|
||
|
|
|--------|-------------|----------|
|
||
|
|
| Comment headers with blank line separator | `# Mail` followed by blank line, then classes. Matches existing comment patterns. | ✓ |
|
||
|
|
| Section dividers with dashes | `# --- Mail ---` style separator | |
|
||
|
|
| No headers (flat list) | Keep current flat listing, rely on frequency ordering | |
|
||
|
|
|
||
|
|
**User's choice:** [auto] Comment headers with blank line separator (recommended default)
|
||
|
|
**Notes:** Matches existing `# Classification rules` comment pattern in PrintConfig output
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## TOML Groups Config Schema
|
||
|
|
|
||
|
|
| Option | Description | Selected |
|
||
|
|
|--------|-------------|----------|
|
||
|
|
| Simple key-value map | `[groups]` with `IMAP = "Web"` pairs. Simplest approach. | ✓ |
|
||
|
|
| Nested table | `[groups.Mail]` with `members = ["IMAP", "POP3"]` — more structured but heavier | |
|
||
|
|
| Array of tables | `[[groups]]` with name/members fields — most flexible but overkill | |
|
||
|
|
|
||
|
|
**User's choice:** [auto] Simple key-value map (recommended default)
|
||
|
|
**Notes:** Consistent with existing `[sounds.X]` pattern. Key = class name, value = target group.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## LDAP/Kerberos/Syslog Handling
|
||
|
|
|
||
|
|
| Option | Description | Selected |
|
||
|
|
|--------|-------------|----------|
|
||
|
|
| Add to AllClasses() + ClassFreqConfigs | Complete the full set, fix broken tests. autoAssignFreq-derived Hz. | ✓ |
|
||
|
|
| Keep out of AllClasses() | Leave as constants-only, no synthesis. Tests remain broken. | |
|
||
|
|
| Add to ClassFreqConfigs only | Add configs but don't add to AllClasses(). Partial fix. | |
|
||
|
|
|
||
|
|
**User's choice:** [auto] Add to AllClasses() + ClassFreqConfigs (recommended default)
|
||
|
|
**Notes:** Completes the full 35-class set. Fixes TestAllClassesHaveConfig and related tests.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Claude's Discretion
|
||
|
|
|
||
|
|
- Exact Hz values for LDAP/Kerberos/Syslog (autoAssignFreq FNV hash)
|
||
|
|
- Pan positions for LDAP/Kerberos/Syslog
|
||
|
|
- Test structure and naming updates
|
||
|
|
- rawConfig struct extension for `[groups]`
|
||
|
|
- Group reassignment pipeline in merge/load
|
||
|
|
|
||
|
|
## Deferred Ideas
|
||
|
|
|
||
|
|
None — discussion stayed within phase scope.
|