Skip to content

ttl: persist dependency edges as dep task keys in task_deps #224

@kdy1

Description

@kdy1

Summary

task_deps.dep_task_key is currently populated from task dependency IDs, not canonical dependency task keys.

Evidence

Contract Evidence:

  • docs/project-ttl-language.md:182
  • cmds/ttlc/internal/cache/sqlite.go:377

Current Gap

task_deps.dep_task_key is currently populated from task dependency IDs, not canonical dependency task keys.

Proposed Scope

  • Not documented yet.

Acceptance Criteria

  • Resolve dependency IDs to canonical dependency task keys before persisting task_deps.
  • Preserve consistency between task_cache.task_key and task_deps.dep_task_key values.
  • Handle missing dependency key mapping with deterministic diagnostics/failures.
  • Provide migration or compatibility handling for existing rows as needed.

Test Scenarios

  • Inserted dependencies reference actual task keys in sqlite rows.
  • Rebuild updates dependency rows when task key changes.
  • Missing dependency mapping triggers deterministic failure path.

Out of Scope

  • Schema redesign unrelated to dependency key mapping.
  • Non-SQLite backend support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions