Skip to content

Commit 45177d1

Browse files
cailmdaleyclaude
andcommitted
convention: fiber titles are 2-3 word DAG node labels
- hook: add title convention to Core Rules in both session and minimal output - add: soft warning to stderr when title exceeds 5 words Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 40fa5b6 commit 45177d1

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

cmd/add.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package cmd
22

33
import (
44
"fmt"
5+
"os"
6+
"strings"
57
"time"
68

79
"github.com/cailmdaley/felt/internal/felt"
@@ -91,6 +93,12 @@ var addCmd = &cobra.Command{
9193
f.Outcome = addOutcome
9294
}
9395

96+
// Warn if title is long — titles render as DAG node labels (2-3 words ideal)
97+
if len(strings.Fields(f.Title)) > 5 {
98+
fmt.Fprintf(os.Stderr, "warning: title %q is long (%d words); titles render as DAG node labels — keep to 2-3 words, put detail in body/outcome\n",
99+
f.Title, len(strings.Fields(f.Title)))
100+
}
101+
94102
if err := storage.Write(f); err != nil {
95103
return err
96104
}

cmd/hook.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ func minimalOutput() string {
6868
- Track **decisions** — what was decided, why, and how decisions depend on each other
6969
- Outcome (` + "`-o`" + `) is the documentation: capture the conclusion, the reasoning, what was learned
7070
- **Leave a wake** — file as you go; the DAG forms after your path
71+
- **Titles are DAG node labels: 2-3 words.** The body and outcome carry full content.
7172
`
7273
}
7374

@@ -151,6 +152,7 @@ func formatSessionOutput(felts []*felt.Felt, g *felt.Graph) string {
151152
sb.WriteString("- Track **decisions** — what was decided, why, and how decisions depend on each other\n")
152153
sb.WriteString("- Outcome (`-o`) is the documentation: capture the conclusion, the reasoning, what was learned\n")
153154
sb.WriteString("- **Leave a wake** — file as you go; the DAG forms after your path\n")
155+
sb.WriteString("- **Titles are DAG node labels: 2-3 words.** The body and outcome carry full content.\n")
154156

155157
return sb.String()
156158
}

0 commit comments

Comments
 (0)