# Project State Data Schema (v3.0)
## 1. Root Structure
```yaml
project_state:
metadata: object # See Section 2.1
exploration_history: object # See Section 2.2 (Populated by 00-EXPLORE-ProjectIdea.md)
charter: object # See Section 2.3 (Populated by 01-INITIATE-Project.md)
plan: object # See Section 2.4 (Populated by 02-PLAN-ProjectExecution.md)
execution: object # See Section 2.5 (Populated by 03-EXECUTE-Task.md)
monitoring_control: object # See Section 2.6 (Populated by 04-MONITOR_CONTROL-Performance.md)
logs: object # See Section 2.7 (Populated by LOG-* templates)
analysis_results: object # See Section 2.8 (Populated by ANALYZE-* templates)
knowledge_artifacts: object # See Section 2.9 (Populated by DEFINE-* support templates & specialized processes)
closure: object # See Section 2.10 (Populated by 05-CLOSE-ProjectOrPhase.md)
```
## 2. Object Structure Definitions
### 2.1 `metadata`
```yaml
metadata:
project_id: string # Unique identifier (e.g., PROJCODE_UUID)
project_name: string
project_code: string
project_type: string # e.g., "Research & Development", "Content Creation", "Software Development"
primary_methodology: string # e.g., "CAFE", "Agile Writing", "Custom"
current_status: string # e.g., "Idea Exploration", "Initiating", "Planning", "Executing", "Monitoring", "Closing", "Closed", "Terminated"
# Timestamps are for user reference, AI should not rely on them for logic
created_timestamp_utc: string # ISO 8601 format
last_modified_timestamp_utc: string # ISO 8601 format
```
### 2.2 `exploration_history`
```yaml
exploration_history:
session_id: string
core_problem_summary: string
high_level_goals_summary: string
potential_deliverables_summary: string
initial_scope_in_summary: list of strings
initial_scope_out_summary: list of strings
key_concepts_identified: list of strings
confirmed_connections: list of objects # {source: string, target: string, relation: string, rationale: string}
confirmed_expansions: list of strings
known_unknowns: list of strings
parking_lot_ideas: list of strings
```
### 2.3 `charter`
```yaml
charter:
version: string # e.g., "1.0", "1.1"
status: string # "Draft", "Formalized", "Under Revision"
vision_statement: string
core_problem_motivation: string
background_context: string
high_level_goals: list of strings
specific_objectives: list of strings
scope_in: list of strings
scope_out: list of strings
key_deliverables: list of strings
key_assumptions: list of strings
key_constraints: list of strings
initial_risk_assessment: list of strings
success_criteria_summary: string # Brief summary, full details in knowledge_artifacts.success_metrics
```
### 2.4 `plan`
```yaml
plan:
version: string
status: string # "Draft", "Formalized", "Under Revision"
wbs: list of objects # Task Objects (see 2.11)
task_sequencing_notes: string
resource_plan_notes: string
quality_plan_notes: string
risk_register: list of objects # Risk Objects (see 2.12)
change_management_process: string
methodology_specific_planning: object # (e.g., research_questions, source_integration_strategy)
internal_review_summary: string
flagged_critical_issues: list of objects # Flagged Critical Issue Objects (see 2.13)
```
### 2.5 `execution`
```yaml
execution:
tasks: list of objects # Task Execution Instance Objects (see 2.14)
```
### 2.6 `monitoring_control`
```yaml
monitoring_control:
performance_reviews: list of objects # Performance Review Summary Objects (see 2.15)
issue_log: list of objects # Issue Objects (see 2.16)
risk_register_updates: list of objects # Risk Objects (see 2.12) - for tracking changes to risks
process_reviews: list of objects # Process Review Summary Objects (see 2.17)
```
### 2.7 `logs`
```yaml
logs:
decisions: list of objects # Decision Objects (see 2.18)
insights: list of objects # Insight Objects (see 2.19)
feedback: list of objects # Feedback Objects (see 2.20)
```
### 2.8 `analysis_results`
```yaml
analysis_results:
critiques: list of objects # Critique Objects (see 2.21)
data_analyses: list of objects # Data Analysis Report Objects (see 2.22)
literature_reviews: list of objects # Literature Review Report Objects (see 2.23)
logic_analyses: list of objects # Logic Analysis Report Objects (see 2.24)
formalism_assessments: list of objects # Formalism Assessment Objects (see 2.25)
extracted_questions: list of objects # Extracted Question Objects (see 2.26)
```
### 2.9 `knowledge_artifacts`
```yaml
knowledge_artifacts:
style_guides: list of objects # Style Guide Data Objects (see 2.27)
glossaries: list of objects # Glossary Data Objects (see 2.28)
success_metrics: list of objects # Success Metrics Data Objects (see 2.29)
collaboration_guidelines: list of objects # Collaboration Guidelines Data Objects (see 2.30)
framework_states: list of objects # Framework State Data Objects (see 2.31)
parameter_ledgers: list of objects # Parameter Ledger Data Objects (see 2.32)
```
### 2.10 `closure`
```yaml
closure:
version: string
status: string # "In Progress", "Finalized"
reason_for_closure: string
final_deliverable_inventory: list of objects #{id: string, name: string, status: string, location_reference: string}
final_outcome_summary: object #{overall_assessment: string, goals_achievement: list, scope_variance_summary: string, quality_summary: string}
lessons_learned: object #{successes: list, challenges: list, root_causes: list, potential_improvements: list, process_template_feedback: list}
archival_recommendations: object #{recommended_artifacts: list, suggested_location_format: string, retention_notes: string}
future_use_recommendations: list of strings
outstanding_items: list of strings
provenance_data: object # (See 2.36)
```
### 2.11 Task Object (for `plan.wbs`)
```yaml
task_object:
id: string # Unique identifier (e.g., "1.1", "2.3.1")
description: string
parent_id: string (optional)
dependencies: list of task_ids
definition_of_done: string
resources_needed: list of strings
quality_standards: list of strings
status: string # "Not Started", "In Progress", "Completed", "Blocked", "Needs Review", "Revising"
assigned_to: string # (e.g., "AI", "User")
estimated_effort: string (optional)
specialized_process_ref: string (optional) # ID of a specialized template if applicable
```
### 2.12 Risk Object (for `plan.risk_register`, `monitoring_control.risk_register_updates`)
```yaml
risk_object:
id: string
description: string
likelihood: string # "High", "Medium", "Low"
impact: string # "High", "Medium", "Low"
response_strategy: string
owner: string (optional)
status: string # "Open", "Closed", "Materialized"
```
### 2.13 Flagged Critical Issue Object (for `plan.flagged_critical_issues`)
```yaml
flagged_critical_issue_object:
issue_id: string
description: string
type: string # e.g., "Technical Feasibility", "Scope Conflict"
rationale: string
resolution_options: list of strings (optional)
status: string # "Open", "Resolved by User", "Deferred"
resolution_decision_ref: string (optional) # Link to `logs.decisions.decision_id`
```
### 2.14 Task Execution Instance Object (for `execution.tasks`)
```yaml
task_execution_instance_object:
task_execution_id: string # Unique ID for this execution instance
task_id_from_plan: string # Reference to WBS ID
status: string # "Preparing", "In Progress", "Needs Clarification", "Needs User Review", "Revising", "Completed", "Blocked"
inputs_used: list of strings/references
proposed_approach: string
execution_log: string # Summary of AI's steps or specialized process used
specialized_process_used: string (optional) # ID of the specialized process template invoked
output_data: object # See Section 2.35 for specific output types
internal_critique_summary: string (optional)
issues_encountered_refs: list of issue_ids # References to `monitoring_control.issue_log`
observations_insights_refs: list of insight_ids # References to `logs.insights`
decisions_made_refs: list of decision_ids # References to `logs.decisions`
quality_check_status: string # "Not Checked", "AI Self-Checked", "User Reviewed", "Passed", "Failed"
provenance_data_ref: string (optional) # Reference to a detailed provenance document/object if too large to embed
```
### 2.15 Performance Review Summary Object (for `monitoring_control.performance_reviews`)
```yaml
performance_review_summary_object:
review_id: string
review_scope: string
status: string # "In Progress", "Completed"
overall_health_assessment: string # "Green", "Yellow", "Red"
key_findings_summary: string
proposed_interventions_or_actions: list of objects
# { item_id: string, description: string, proposed_action_or_change: string, rationale: string, user_decision: string, decision_rationale_user: string, linked_decision_id: string }
action_items_for_ai: list of strings
decisions_made_by_user_summary: list of strings
next_recommended_process: string
```
### 2.16 Issue Object (for `monitoring_control.issue_log`)
```yaml
issue_object:
issue_id: string
description: string
raised_by_process_ref: string # e.g., TaskExecutionID, ReviewID
status: string # "Open", "In Progress", "Resolved", "Closed"
severity: string # "High", "Medium", "Low"
resolution_plan: string (optional)
resolution_notes: string (optional)
resolved_by_decision_ref: string (optional) # Link to `logs.decisions.decision_id`
```
### 2.17 Process Review Summary Object (for `monitoring_control.process_reviews`)
```yaml
process_review_summary_object:
review_id: string
review_scope: string
status: string # "In Progress", "Completed"
summary_narrative: string
template_utility_assessment: object # { template_id: string, assessment: string, notes: string }
workflow_efficiency_assessment: object # { bottleneck_points: list, efficiency_score: string }
identified_gaps_needs: list of strings
proposed_improvements_solutions: list of strings
action_items: list of strings
```
### 2.18 Decision Object (for `logs.decisions`)
```yaml
decision_object:
decision_id: string
decision_made: string
rationale: string
alternatives_considered: list of strings (optional)
decision_maker: string # "User", "AI Rec, User Approved", "User Override"
status: string # "Logged", "Implemented"
related_process_ref: string (optional)
```
### 2.19 Insight Object (for `logs.insights`)
```yaml
insight_object:
insight_id: string
description: string
source_process_ref: string
relevance: string
notes: string (optional)
```
### 2.20 Feedback Object (for `logs.feedback`)
```yaml
feedback_object:
feedback_id: string
reviewed_item_ref: string # e.g., TaskExecutionID, Deliverable ID
reviewer: string # "User"
overall_assessment: string (optional)
specific_points: list of objects # { point_id: string, description: string, suggested_action: string (optional), priority: string (H/M/L, optional), status: string ("Open", "Addressed", "Rejected") }
status: string # "Open", "Addressed", "Closed"
```
### 2.21 Critique Object (for `analysis_results.critiques`)
```yaml
critique_object:
critique_id: string
task_execution_ref: string (optional)
status: string # "In Progress", "Analysis Complete", "Completed"
artifact_reference: string
focus_areas: list of strings (optional)
summary_findings: string
detailed_findings: object # { clarity_issues: list, logic_issues: list, assumption_issues: list, ... }
recommendations: list of strings
provenance_data_ref: string (optional)
```
### 2.22 Data Analysis Report Object (for `analysis_results.data_analyses`)
```yaml
data_analysis_report_object:
analysis_id: string
task_execution_ref: string (optional)
status: string # "In Progress", "Analysis Complete", "Completed"
data_source_reference: string
analysis_objectives: list of strings
methodology_summary: string
results_summary: string
interpretation_discussion: string
limitations: list of strings
provenance_data_ref: string (optional)
```
### 2.23 Literature Review Report Object (for `analysis_results.literature_reviews`)
```yaml
literature_review_report_object:
review_id: string
task_execution_ref: string (optional)
status: string # "In Progress", "Review Complete", "Completed"
topic: string
scope: string
search_strategy: string (optional)
key_themes_findings: object
methodological_approaches: object (optional)
identified_gaps: list of strings
synthesis_conclusion: string
bibliography: list of objects # { title: string, author: string, year: string, etc. }
provenance_data_ref: string (optional)
```
### 2.24 Logic Analysis Report Object (for `analysis_results.logic_analyses`)
```yaml
logic_analysis_report_object:
analysis_id: string
task_execution_ref: string (optional)
status: string # "In Progress", "Analysis Complete", "Completed"
text_reference: string
identified_arguments: object
evaluation_of_logic: object
identified_fallacies: list of objects # { name: string, location: string, explanation: string, notes: string (optional) }
overall_assessment: string
```
### 2.25 Formalism Assessment Object (for `analysis_results.formalism_assessments`)
```yaml
formalism_assessment_object:
assessment_id: string
task_execution_ref: string (optional)
status: string # "In Progress", "Analysis Complete", "Completed"
formalism_reference: string
requirements_context: string
assessment_criteria: string
alignment_with_requirements: object
embodiment_of_principles: object
stress_test_results: list of objects { test_name: string, outcome: string, notes: string }
parameter_analysis: object
swr_analysis: object # Strengths, Weaknesses, Risks
overall_recommendation: string
provenance_data_ref: string (optional)
```
### 2.26 Extracted Question Object (for `analysis_results.extracted_questions`)
```yaml
extracted_question_object:
question_id: string
description: string
type: string # "Explicit" or "Implicit"
source_text_reference: string
source_process_ref: string (optional)
status: string # "Draft", "Confirmed", "Rejected"
notes: string (optional)
```
### 2.27 Style Guide Data Object (for `knowledge_artifacts.style_guides`)
```yaml
style_guide_data_object:
id: string
version: string
status: string # "Draft", "Active", "Archived"
last_updated_process_ref: string (optional)
content: object
tone_voice: string
grammar_punctuation: string
capitalization: string
formatting: string
list_usage: string # "Avoid paragraph-length lists; use for concise items only."
terminology_glossary_ref: string (optional) # Link to Glossary ID
citations_references: string # Description of citation style
figures_tables: string
provenance_data_ref: string (optional)
```
### 2.28 Glossary Data Object (for `knowledge_artifacts.glossaries`)
```yaml
glossary_data_object:
id: string
version: string
status: string # "Draft", "Active", "Archived"
last_updated_process_ref: string (optional)
terms: list of objects # Term Objects (see 2.38)
provenance_data_ref: string (optional)
```
### 2.29 Success Metrics Data Object (for `knowledge_artifacts.success_metrics`)
```yaml
success_metrics_data_object:
id: string
version: string
status: string # "Draft", "Active", "Archived"
last_updated_process_ref: string (optional)
project_success_criteria: list of objects # { goal_ref: string, metrics: list of strings }
deliverable_acceptance_criteria: list of objects # { deliverable_ref: string, criteria: list of strings }
task_dod_summary: list of objects # { task_ref: string, dod: string }
provenance_data_ref: string (optional)
```
### 2.30 Collaboration Guidelines Data Object (for `knowledge_artifacts.collaboration_guidelines`)
```yaml
collaboration_guidelines_data_object:
id: string
version: string
status: string # "Draft", "Active", "Archived"
last_updated_process_ref: string (optional)
content: object
communication_style: string
task_management_workflow: string
feedback_revision: string
handling_disagreements: string
tool_platform_usage: string
availability_response: string
provenance_data_ref: string (optional)
```
### 2.31 Framework State Data Object (for `knowledge_artifacts.framework_states`)
```yaml
framework_state_data_object:
id: string
version: string
status: string # e.g., "Draft", "Validated VS0", "Validated VS1", etc.
last_updated_process_ref: string (optional)
vs0_foundational_principles: object # See VS Stage Object structure (Section 2.39)
vs1_conceptual_coherence: object # See VS Stage Object structure (Section 2.39)
vs2_formalism_viability: object # See VS Stage Object structure (Section 2.39)
vs3_quantitative_modeling: object # See VS Stage Object structure (Section 2.39)
vs4_empirical_contact: object # See VS Stage Object structure (Section 2.39)
current_key_open_questions: list of strings
known_limitations_inconsistencies: list of strings
provenance_data_ref: string (optional)
```
### 2.32 Parameter Ledger Data Object (for `knowledge_artifacts.parameter_ledgers`)
```yaml
parameter_ledger_data_object:
id: string
version: string
status: string # "Draft", "Active", "Archived"
last_updated_process_ref: string (optional)
parameters: list of objects # Parameter Objects (see 2.38)
provenance_data_ref: string (optional)
```
### 2.33 Lessons Learned Object (for `project_state.closure.lessons_learned`)
```yaml
lessons_learned_object:
successes: list of strings
challenges: list of strings
root_causes_of_challenges: list of strings
potential_improvements: list of strings
process_template_feedback: list of strings
```
### 2.34 Archival Recommendations Object (for `project_state.closure.archival_recommendations`)
```yaml
archival_recommendations_object:
recommended_artifacts: list of strings # List of artifact references
suggested_location_format: string
retention_notes: string (optional)
```
### 2.35 Output Data Object (for `task_execution_instance.output_data`)
```yaml
# This is a flexible object; the specific fields will depend on the 'type' field.
output_data_object:
type: string # e.g., "academic_paper_section", "white_paper_section", "summary", "patent_application_section", "raw_text", "data_output", "analysis_report_summary", "definition_document_summary"
content_reference: string (optional) # For large text outputs, a reference to where the full text is stored (user's file system)
# Specific data structures based on 'type':
academic_paper_data: object (optional) # See Section 2.40
white_paper_content_data: object (optional) # See Section 2.41
summary_data: object (optional) # See Section 2.42
patent_application_data: object (optional) # See Section 2.43
raw_text_output: string (optional)
structured_data_output: object (optional) # For generic structured data results
analysis_report_summary: object (optional) # Key findings from an analysis
definition_document_summary: object (optional) # Key elements of a defined artifact
# Add other specific output types as needed
```
### 2.36 Provenance Data Object
```yaml
# Structure for provenance_data (used in various objects)
provenance_data_object:
generated_by_process_ref: string # ID of the process template that generated/updated this data
timestamp: timestamp # Timestamp of when this provenance record was created/updated
source_inputs: list of objects # Details of inputs used
# Each object: { type: string (e.g., "user_prompt", "project_state_data", "external_document", "ai_knowledge_base"), reference: string, version: string (optional) }
methodology_summary: string (optional) # Brief description of methods or steps taken by AI
key_decisions_ref: list of decision_ids (optional) # References to `project_state.logs.decisions`
# For content generation/analysis, link segments to sources
content_segments_provenance: list of objects (optional) # Each object: { segment_identifier: string, source_references: list of strings, confidence_level: string (optional) }
```
### 2.37 Fallacy Object (for `logic_analysis_report_object.identified_fallacies`)
```yaml
# Structure for an item in logic_analysis_report_object.identified_fallacies
fallacy_object:
name: string # Name of the fallacy
location_in_text: string # Specific quote or reference
explanation: string # Why it constitutes a fallacy
notes: string (optional)
```
### 2.38 Parameter Object (for `parameter_ledger_data_object.parameters`)
```yaml
# Structure for an item in parameter_ledger_data_object.parameters
parameter_object:
parameter_id: string
symbol: string
name: string
formalism_context_ref: string
introduced_process_ref: string
justification: string
data_type: string
estimated_range_default: string
constraints_found: list of objects { description: string, source_process_ref: string }
sensitivity_impact_notes: string
status: string # "Fundamental", "Formalism-Derived", "Phenomenological", "Free", "Constrained", "Simulation-Specific", "Eliminated"
notes: string (optional)
```
### 2.39 VS Stage Object (for `framework_state_data_object.vsX_...`)
```yaml
# Structure for VS stages (e.g., project_state.knowledge_artifacts.framework_states[].vs0_foundational_principles)
vs_stage_object:
status: string # "Not Started", "In Progress", "Validated", "Superseded"
summary: string # Brief summary of validated elements for this stage
details_reference: string (optional) # Link/reference to detailed documentation or output for this stage
validation_process_ref: string (optional) # Reference to VS Assessment or Synthesis cycle that validated this
# Stage-specific fields can be added as needed, for example:
# For vs1_conceptual_coherence:
# concepts: list of objects {id: string, name: string, definition_ref: string, status: string}
# mechanisms: list of objects {id: string, name: string, description: string, status: string}
# qualitative_scope_summary_ref: string
# For vs2_formalism_viability:
# selected_formalism_ref: string
# formalism_justification_summary: string
# representational_mapping_summary: string
# For vs3_quantitative_modeling:
# validated_model_ref: string
# validated_emergent_phenomena: list of objects {id: string, name: string, description: string, validation_ref: string}
# parameter_constraints_summary_ref: string
# For vs4_empirical_contact:
# empirical_consistency_summary_ref: string
# novel_predictions_summary_ref: string
```
### 2.40 Academic Paper Data Object (for `output_data_object.academic_paper_data`)
```yaml
# Structure for academic_paper_data within task_execution_instance.output_data
academic_paper_data_object:
sections: list of objects # Data for each section/chapter
- section_id: string # e.g., "Introduction", "Chapter1", "Section1.1"
section_title: string
content_reference: string # Reference to where the actual text is stored (user's file system or a large text field in the state if small enough)
word_count: integer
citation_count: integer
# Add other relevant section metadata
overall_metadata: object # Metadata for the entire paper task output
full_title: string
total_word_count: integer
total_citation_count: integer
collaboration_disclosure_text: string # The generated disclosure statement for the whole manuscript
# Add other paper-level metadata
```
### 2.41 White Paper Content Data Object (for `output_data_object.white_paper_content_data`)
```yaml
# Structure for white_paper_content_data within task_execution_instance.output_data
white_paper_content_data_object:
sections: list of objects # Data for each section
- section_id: string # e.g., "ExecutiveSummary", "Solution", "AppendixA"
section_title: string
content_reference: string # Reference to where the actual text is stored
word_count: integer
# Add other relevant section metadata
overall_metadata: object # Metadata for the entire white paper task output
full_title: string
total_word_count: integer
# Add other paper-level metadata
```
### 2.42 Summary Data Object (for `output_data_object.summary_data`)
```yaml
# Structure for summary_data within task_execution_instance.output_data
summary_data_object:
source_reference: string # Reference to the text that was summarized
summary_type: string # "Abstractive", "Extractive", "Hybrid"
length_constraint: string # e.g., "100 words", "1 paragraph"
focus: string # e.g., "Key arguments", "Methodology"
audience: string # e.g., "Expert", "Layperson"
summary_text: string # The generated summary text
# Add other relevant metadata like word count of summary
```
### 2.43 Patent Application Data Object (for `output_data_object.patent_application_data`)
```yaml
# Structure for patent_application_data within task_execution_instance.output_data
patent_application_data_object:
title_text: string
specification_text: string # Full text with numbered paragraphs
claims_text: string # Full text with numbered claims
abstract_text: string # Full text
# Add other relevant metadata like word counts, section lengths
```
---