feat: consolidate schema changes from crew directories

Merges schema additions from crew/fang, crew/giles, crew/grip, and crew/wolf:

- crystallizes: bool field for work economics (compounds vs evaporates)
- work_type: WorkType field for assignment model (mutex vs open_competition)
- source_system: string field for federation adapter tracking
- quality_score: *float32 for aggregate quality (0.0-1.0)
- delegated-from: new dependency type for work delegation chains

Migrations properly sequenced as 037-040 (after existing 036 owner_column).

Also fixes test compilation errors for removed TypeRig and IsBuiltIn references.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

Executed-By: beads/crew/dave
Rig: beads
Role: crew
This commit is contained in:
beads/crew/dave
2026-01-10 20:26:57 -08:00
committed by Steve Yegge
parent 8942261a12
commit f79e636000
9 changed files with 193 additions and 46 deletions

View File

@@ -0,0 +1,33 @@
package migrations
import (
"database/sql"
"fmt"
)
// MigrateSourceSystemColumn adds the source_system column to the issues table.
// This tracks which adapter/system created the issue for federation support.
func MigrateSourceSystemColumn(db *sql.DB) error {
// Check if column already exists
var columnExists bool
err := db.QueryRow(`
SELECT COUNT(*) > 0
FROM pragma_table_info('issues')
WHERE name = 'source_system'
`).Scan(&columnExists)
if err != nil {
return fmt.Errorf("failed to check source_system column: %w", err)
}
if columnExists {
return nil
}
// Add the source_system column
_, err = db.Exec(`ALTER TABLE issues ADD COLUMN source_system TEXT DEFAULT ''`)
if err != nil {
return fmt.Errorf("failed to add source_system column: %w", err)
}
return nil
}