fix(db): move badger database into subdirectory

Amolith and Crush created

The database directory ~/.config/nasin-pali now contains the badger
database at ~/.config/nasin-pali/data/ instead of being the database
itself. This provides cleaner separation and allows for potential
future configuration files in the parent directory.

Implements: bug-4b90e13
Co-authored-by: Crush <crush@charm.land>

Change summary

AGENTS.md              | 2 +-
README.md              | 2 +-
internal/db/options.go | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)

Detailed changes

AGENTS.md 🔗

@@ -75,7 +75,7 @@ Fang is used for execution/versioning; Cobra provides the command tree.
 Implemented under `internal/db`, `internal/goal`, `internal/task`, `internal/event`.
 
 - Database options (internal/db/options.go)
-  - Default path: `os.UserConfigDir()/nasin-pali`
+  - Default path: `os.UserConfigDir()/nasin-pali/data`
   - Retries: `MaxTxnRetries` (default 5) with exponential `ConflictBackoff` (default 10ms)
   - `SyncWrites` defaults to true when not ReadOnly
   - No-op logger by default; Badger logger bridged via adapter

README.md 🔗

@@ -165,7 +165,7 @@ instruction from the operator, would be sufficient.
 
 Sessions, plans, goals, tasks, everything is stored in a shared
 [Badger](github.com/hypermodeinc/badger) database in
-`$XDG_CONFIG_HOME/nasin-pali/`.
+`$XDG_CONFIG_HOME/nasin-pali/data/`.
 
 Every LLM-oriented sub-command is tracked as an event. Sub-commands that do
 anything to modify either created tasks or set goals require a reason ("operator

internal/db/options.go 🔗

@@ -107,5 +107,5 @@ func DefaultPath() (string, error) {
 	if err != nil {
 		return "", err
 	}
-	return filepath.Join(configRoot, defaultNamespace), nil
+	return filepath.Join(configRoot, defaultNamespace, "data"), nil
 }