business-as-code
Version:
Primitives for expressing business logic and processes as code
87 lines • 2.72 kB
TypeScript
import type { Noun } from 'ai-database';
/**
* Planning Entities
* Issue, Plan - Planning-focused abstractions for tracking work
*
* These complement the execution-focused Task in digital-tasks
* and the project management entities in projects.ts
*
* Key distinction:
* - Task (digital-tasks): Function execution with workers, queues, runtime
* - Task (projects.ts): Project management work item
* - Issue (planning.ts): Planning-focused with design, acceptance criteria, notes
*/
/**
* WorkItem - A planning-focused work item (ticket/issue)
*
* Models the full lifecycle of work from ideation through completion:
* - What: title, description
* - Why: context, business value
* - How: design (implementation approach)
* - Done: acceptance criteria
* - Context: notes (session handoff, progress tracking)
*
* This abstraction is backend-agnostic and can be implemented by:
* - beads (SQLite) - maps to beads Issue
* - Linear - maps to Linear Issue
* - GitHub Issues
* - Jira - maps to Jira Issue/Ticket
* - etc.
*
* Note: Distinct from entities/risk.ts Issue which represents
* operational/business issues (problems requiring resolution).
* WorkItem represents planned development work.
*/
export declare const WorkItem: Noun;
/**
* Comment - A comment on an issue
*/
export declare const Comment: Noun;
/**
* Event - An audit trail event on an issue
*/
export declare const Event: Noun;
/**
* WorkItemComment - Alias for Comment (for clarity)
*/
export declare const WorkItemComment: Noun;
/**
* WorkItemEvent - Alias for Event (for clarity)
*/
export declare const WorkItemEvent: Noun;
/**
* Plan - A high-level planning document that generates issues
*
* Bridges Strategy → Plan → Issues → Tasks
*
* A Plan captures:
* - Goals and objectives
* - Constraints and assumptions
* - Design decisions
* - Issue breakdown
*/
export declare const Plan: Noun;
/**
* Dependency types for issue relationships
*/
export declare const DependencyTypes: {
/** Hard blocker - issue A blocks issue B from starting */
readonly blocks: "blocks";
/** Soft link - issues are related but not blocking */
readonly related: "related";
/** Hierarchical - epic/subtask relationship */
readonly parentChild: "parent-child";
/** Provenance - issue B discovered while working on A */
readonly discoveredFrom: "discovered-from";
};
export type DependencyType = (typeof DependencyTypes)[keyof typeof DependencyTypes];
export declare const PlanningEntities: {
WorkItem: Noun;
WorkItemComment: Noun;
WorkItemEvent: Noun;
Comment: Noun;
Event: Noun;
Plan: Noun;
};
export default PlanningEntities;
//# sourceMappingURL=planning.d.ts.map