<commit_before>package main

import "time"

type GORMProject struct {
	ID        string    `gorm:"primary_key"`
	CreatedAt time.Time `json:"createdAt"`
}

type GORMCommit struct {
}

type GORMTask struct {
}

type GORMStep struct {
}

type GORMBuild struct {
}<commit_msg>[backend] Outlined RDBMS persistence structs.<commit_after>package main

import "time"

type GORMProject struct {
	ID string `gorm:"primary_key"`

	CreatedAt time.Time
	UpdatedAt time.Time

	Synchronising bool
}

// GORMBranch - Has a many-to-many relationship with GORMCommits
type GORMBranch struct {
	ID        string
	ProjectID string
}

type GORMBranchCommit struct {
	BranchID string
	CommitID string
}

// GORMCommit - Has a many-to-many relationship with GORMBranch
type GORMCommit struct {
	ID        string // Hash
	ProjectID string
}

type GORMTask struct {
	TaskID   string
	CommitID string // Hash
	Name     string
}

type GORMStep struct {
	TaskID string
}

type GORMBuild struct {
	ID        string
	ProjectID string
	CommitID  string
	TaskID    string
	Status    string // waiting, running, failed, success
}

type GORMBuildStep struct {
	ID      string
	BuildID string
	Status  string // running, failed, success
}

type GORMOutputStream struct {
	ID          string
	Name        string
	BuildStepID string
	OutputFile  string
}

type StreamLine struct {
	OutputStreamID string
	LineNumber     uint64
	Timestamp      time.Time
	Output         string
}
{'fraction_non_alphanumeric': 0.059027777777777776, 'fraction_numerical': 0.001388888888888889, 'mean_word_length': 3.2134502923976607, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4072267', 'n_tokens_mistral': 466, 'n_tokens_neox': 465, 'n_words': 147}