@fractary/core 0.7.24 → 0.7.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/type-registry.d.ts.map +1 -1
- package/dist/docs/type-registry.js +4 -5
- package/dist/docs/type-registry.js.map +1 -1
- package/dist/logs/type-registry.d.ts.map +1 -1
- package/dist/logs/type-registry.js +4 -5
- package/dist/logs/type-registry.js.map +1 -1
- package/package.json +4 -2
- package/templates/docs/adr/standards.md +29 -0
- package/templates/docs/adr/template.md +48 -0
- package/templates/docs/adr/type.yaml +74 -0
- package/templates/docs/api/standards.md +16 -0
- package/templates/docs/api/template.md +62 -0
- package/templates/docs/api/type.yaml +63 -0
- package/templates/docs/architecture/standards.md +15 -0
- package/templates/docs/architecture/template.md +58 -0
- package/templates/docs/architecture/type.yaml +63 -0
- package/templates/docs/audit/standards.md +15 -0
- package/templates/docs/audit/template.md +52 -0
- package/templates/docs/audit/type.yaml +61 -0
- package/templates/docs/changelog/standards.md +15 -0
- package/templates/docs/changelog/template.md +53 -0
- package/templates/docs/changelog/type.yaml +45 -0
- package/templates/docs/dataset/standards.md +15 -0
- package/templates/docs/dataset/template.md +65 -0
- package/templates/docs/dataset/type.yaml +63 -0
- package/templates/docs/etl/standards.md +15 -0
- package/templates/docs/etl/template.md +77 -0
- package/templates/docs/etl/type.yaml +66 -0
- package/templates/docs/guides/standards.md +16 -0
- package/templates/docs/guides/template.md +58 -0
- package/templates/docs/guides/type.yaml +61 -0
- package/templates/docs/infrastructure/standards.md +15 -0
- package/templates/docs/infrastructure/template.md +90 -0
- package/templates/docs/infrastructure/type.yaml +66 -0
- package/templates/docs/manifest.yaml +114 -0
- package/templates/docs/spec-api/standards.md +53 -0
- package/templates/docs/spec-api/template.md +96 -0
- package/templates/docs/spec-api/type.yaml +102 -0
- package/templates/docs/spec-basic/standards.md +24 -0
- package/templates/docs/spec-basic/template.md +51 -0
- package/templates/docs/spec-basic/type.yaml +92 -0
- package/templates/docs/spec-bug/standards.md +46 -0
- package/templates/docs/spec-bug/template.md +66 -0
- package/templates/docs/spec-bug/type.yaml +96 -0
- package/templates/docs/spec-feature/standards.md +53 -0
- package/templates/docs/spec-feature/template.md +105 -0
- package/templates/docs/spec-feature/type.yaml +106 -0
- package/templates/docs/spec-infrastructure/standards.md +58 -0
- package/templates/docs/spec-infrastructure/template.md +71 -0
- package/templates/docs/spec-infrastructure/type.yaml +102 -0
- package/templates/docs/standards/standards.md +15 -0
- package/templates/docs/standards/template.md +54 -0
- package/templates/docs/standards/type.yaml +61 -0
- package/templates/docs/testing/standards.md +15 -0
- package/templates/docs/testing/template.md +87 -0
- package/templates/docs/testing/type.yaml +65 -0
- package/templates/logs/audit/standards.md +33 -0
- package/templates/logs/audit/template.md +65 -0
- package/templates/logs/audit/type.yaml +85 -0
- package/templates/logs/build/standards.md +32 -0
- package/templates/logs/build/template.md +78 -0
- package/templates/logs/build/type.yaml +71 -0
- package/templates/logs/changelog/standards.md +34 -0
- package/templates/logs/changelog/template.md +71 -0
- package/templates/logs/changelog/type.yaml +70 -0
- package/templates/logs/debug/standards.md +33 -0
- package/templates/logs/debug/template.md +63 -0
- package/templates/logs/debug/type.yaml +77 -0
- package/templates/logs/deployment/standards.md +34 -0
- package/templates/logs/deployment/template.md +64 -0
- package/templates/logs/deployment/type.yaml +76 -0
- package/templates/logs/manifest.yaml +70 -0
- package/templates/logs/operational/standards.md +34 -0
- package/templates/logs/operational/template.md +71 -0
- package/templates/logs/operational/type.yaml +87 -0
- package/templates/logs/session/standards.md +34 -0
- package/templates/logs/session/template.md +81 -0
- package/templates/logs/session/type.yaml +69 -0
- package/templates/logs/test/standards.md +34 -0
- package/templates/logs/test/template.md +83 -0
- package/templates/logs/test/type.yaml +75 -0
- package/templates/logs/workflow/standards.md +35 -0
- package/templates/logs/workflow/template.md +95 -0
- package/templates/logs/workflow/type.yaml +91 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# {{title}}
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
{{overview}}
|
|
6
|
+
|
|
7
|
+
## Scope
|
|
8
|
+
|
|
9
|
+
{{scope}}
|
|
10
|
+
|
|
11
|
+
## Standards
|
|
12
|
+
|
|
13
|
+
{{#standards}}
|
|
14
|
+
### {{name}}
|
|
15
|
+
|
|
16
|
+
{{description}}
|
|
17
|
+
|
|
18
|
+
{{#rules}}
|
|
19
|
+
#### {{title}}
|
|
20
|
+
|
|
21
|
+
{{description}}
|
|
22
|
+
|
|
23
|
+
{{#examples}}
|
|
24
|
+
**{{type}}:**
|
|
25
|
+
```{{language}}
|
|
26
|
+
{{code}}
|
|
27
|
+
```
|
|
28
|
+
{{/examples}}
|
|
29
|
+
|
|
30
|
+
{{/rules}}
|
|
31
|
+
|
|
32
|
+
{{/standards}}
|
|
33
|
+
|
|
34
|
+
## Exceptions
|
|
35
|
+
|
|
36
|
+
{{#exceptions}}
|
|
37
|
+
- **{{context}}**: {{description}}
|
|
38
|
+
{{/exceptions}}
|
|
39
|
+
|
|
40
|
+
## Enforcement
|
|
41
|
+
|
|
42
|
+
{{enforcement}}
|
|
43
|
+
|
|
44
|
+
## References
|
|
45
|
+
|
|
46
|
+
{{#references}}
|
|
47
|
+
- [{{title}}]({{url}})
|
|
48
|
+
{{/references}}
|
|
49
|
+
|
|
50
|
+
## Changelog
|
|
51
|
+
|
|
52
|
+
{{#changelog}}
|
|
53
|
+
- **{{date}}**: {{change}}
|
|
54
|
+
{{/changelog}}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Standards & Conventions Type Definition
|
|
2
|
+
|
|
3
|
+
id: standards
|
|
4
|
+
display_name: Standards & Conventions
|
|
5
|
+
description: Coding standards, style guides, and team conventions
|
|
6
|
+
|
|
7
|
+
output_path: docs/standards
|
|
8
|
+
|
|
9
|
+
file_naming:
|
|
10
|
+
pattern: "STD-{slug}.md"
|
|
11
|
+
slug_source: title
|
|
12
|
+
slug_max_length: 50
|
|
13
|
+
|
|
14
|
+
frontmatter:
|
|
15
|
+
required_fields:
|
|
16
|
+
- title
|
|
17
|
+
- type
|
|
18
|
+
- status
|
|
19
|
+
- date
|
|
20
|
+
optional_fields:
|
|
21
|
+
- owner
|
|
22
|
+
- applies_to
|
|
23
|
+
- tags
|
|
24
|
+
- related
|
|
25
|
+
- version
|
|
26
|
+
defaults:
|
|
27
|
+
type: standards
|
|
28
|
+
status: draft
|
|
29
|
+
|
|
30
|
+
structure:
|
|
31
|
+
required_sections:
|
|
32
|
+
- Overview
|
|
33
|
+
- Standards
|
|
34
|
+
optional_sections:
|
|
35
|
+
- Scope
|
|
36
|
+
- Exceptions
|
|
37
|
+
- Enforcement
|
|
38
|
+
- References
|
|
39
|
+
- Changelog
|
|
40
|
+
section_order:
|
|
41
|
+
- Overview
|
|
42
|
+
- Scope
|
|
43
|
+
- Standards
|
|
44
|
+
- Exceptions
|
|
45
|
+
- Enforcement
|
|
46
|
+
- References
|
|
47
|
+
- Changelog
|
|
48
|
+
|
|
49
|
+
status:
|
|
50
|
+
allowed_values:
|
|
51
|
+
- draft
|
|
52
|
+
- review
|
|
53
|
+
- approved
|
|
54
|
+
- deprecated
|
|
55
|
+
default: draft
|
|
56
|
+
|
|
57
|
+
index_config:
|
|
58
|
+
index_file: docs/standards/README.md
|
|
59
|
+
sort_by: title
|
|
60
|
+
sort_order: asc
|
|
61
|
+
entry_template: "- [{{title}}]({{relative_path}}) - {{status}}"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Testing Documentation Standards
|
|
2
|
+
|
|
3
|
+
## Required Conventions
|
|
4
|
+
|
|
5
|
+
- ALWAYS define test scope
|
|
6
|
+
- ALWAYS document test cases with steps
|
|
7
|
+
- ALWAYS include expected results
|
|
8
|
+
- ALWAYS track test status
|
|
9
|
+
|
|
10
|
+
## Best Practices
|
|
11
|
+
|
|
12
|
+
- Use unique test case IDs
|
|
13
|
+
- Document test environment
|
|
14
|
+
- Track issues found
|
|
15
|
+
- Get sign-off for releases
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# {{title}}
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
{{overview}}
|
|
6
|
+
|
|
7
|
+
## Test Scope
|
|
8
|
+
|
|
9
|
+
### In Scope
|
|
10
|
+
|
|
11
|
+
{{#in_scope}}
|
|
12
|
+
- {{.}}
|
|
13
|
+
{{/in_scope}}
|
|
14
|
+
|
|
15
|
+
### Out of Scope
|
|
16
|
+
|
|
17
|
+
{{#out_of_scope}}
|
|
18
|
+
- {{.}}
|
|
19
|
+
{{/out_of_scope}}
|
|
20
|
+
|
|
21
|
+
## Test Environment
|
|
22
|
+
|
|
23
|
+
{{environment}}
|
|
24
|
+
|
|
25
|
+
## Test Cases
|
|
26
|
+
|
|
27
|
+
{{#test_cases}}
|
|
28
|
+
### {{id}}: {{title}}
|
|
29
|
+
|
|
30
|
+
**Priority:** {{priority}}
|
|
31
|
+
**Type:** {{type}}
|
|
32
|
+
|
|
33
|
+
**Preconditions:**
|
|
34
|
+
{{#preconditions}}
|
|
35
|
+
- {{.}}
|
|
36
|
+
{{/preconditions}}
|
|
37
|
+
|
|
38
|
+
**Steps:**
|
|
39
|
+
{{#steps}}
|
|
40
|
+
1. {{.}}
|
|
41
|
+
{{/steps}}
|
|
42
|
+
|
|
43
|
+
**Expected Result:**
|
|
44
|
+
{{expected_result}}
|
|
45
|
+
|
|
46
|
+
**Status:** {{status}}
|
|
47
|
+
|
|
48
|
+
{{/test_cases}}
|
|
49
|
+
|
|
50
|
+
## Test Data
|
|
51
|
+
|
|
52
|
+
{{test_data}}
|
|
53
|
+
|
|
54
|
+
## Results Summary
|
|
55
|
+
|
|
56
|
+
| Metric | Value |
|
|
57
|
+
|--------|-------|
|
|
58
|
+
| Total Tests | {{results.total}} |
|
|
59
|
+
| Passed | {{results.passed}} |
|
|
60
|
+
| Failed | {{results.failed}} |
|
|
61
|
+
| Skipped | {{results.skipped}} |
|
|
62
|
+
| Pass Rate | {{results.pass_rate}} |
|
|
63
|
+
|
|
64
|
+
## Issues Found
|
|
65
|
+
|
|
66
|
+
{{#issues}}
|
|
67
|
+
### {{id}}: {{title}}
|
|
68
|
+
|
|
69
|
+
**Severity:** {{severity}}
|
|
70
|
+
**Status:** {{status}}
|
|
71
|
+
|
|
72
|
+
{{description}}
|
|
73
|
+
{{/issues}}
|
|
74
|
+
|
|
75
|
+
## Recommendations
|
|
76
|
+
|
|
77
|
+
{{#recommendations}}
|
|
78
|
+
- {{.}}
|
|
79
|
+
{{/recommendations}}
|
|
80
|
+
|
|
81
|
+
## Sign-off
|
|
82
|
+
|
|
83
|
+
| Role | Name | Date | Status |
|
|
84
|
+
|------|------|------|--------|
|
|
85
|
+
{{#signoffs}}
|
|
86
|
+
| {{role}} | {{name}} | {{date}} | {{status}} |
|
|
87
|
+
{{/signoffs}}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Testing Documentation Type Definition
|
|
2
|
+
|
|
3
|
+
id: testing
|
|
4
|
+
display_name: Testing Documentation
|
|
5
|
+
description: Test plans, test results, and QA documentation
|
|
6
|
+
|
|
7
|
+
output_path: docs/testing
|
|
8
|
+
|
|
9
|
+
file_naming:
|
|
10
|
+
pattern: "TEST-{slug}.md"
|
|
11
|
+
slug_source: title
|
|
12
|
+
slug_max_length: 50
|
|
13
|
+
|
|
14
|
+
frontmatter:
|
|
15
|
+
required_fields:
|
|
16
|
+
- title
|
|
17
|
+
- type
|
|
18
|
+
- status
|
|
19
|
+
- date
|
|
20
|
+
optional_fields:
|
|
21
|
+
- tester
|
|
22
|
+
- version
|
|
23
|
+
- tags
|
|
24
|
+
- related
|
|
25
|
+
- test_type
|
|
26
|
+
defaults:
|
|
27
|
+
type: testing
|
|
28
|
+
status: draft
|
|
29
|
+
|
|
30
|
+
structure:
|
|
31
|
+
required_sections:
|
|
32
|
+
- Overview
|
|
33
|
+
- Test Scope
|
|
34
|
+
- Test Cases
|
|
35
|
+
- Results Summary
|
|
36
|
+
optional_sections:
|
|
37
|
+
- Test Environment
|
|
38
|
+
- Test Data
|
|
39
|
+
- Issues Found
|
|
40
|
+
- Recommendations
|
|
41
|
+
- Sign-off
|
|
42
|
+
section_order:
|
|
43
|
+
- Overview
|
|
44
|
+
- Test Scope
|
|
45
|
+
- Test Environment
|
|
46
|
+
- Test Cases
|
|
47
|
+
- Test Data
|
|
48
|
+
- Results Summary
|
|
49
|
+
- Issues Found
|
|
50
|
+
- Recommendations
|
|
51
|
+
- Sign-off
|
|
52
|
+
|
|
53
|
+
status:
|
|
54
|
+
allowed_values:
|
|
55
|
+
- draft
|
|
56
|
+
- in_progress
|
|
57
|
+
- completed
|
|
58
|
+
- signed_off
|
|
59
|
+
default: draft
|
|
60
|
+
|
|
61
|
+
index_config:
|
|
62
|
+
index_file: docs/testing/README.md
|
|
63
|
+
sort_by: date
|
|
64
|
+
sort_order: desc
|
|
65
|
+
entry_template: "- [{{title}}]({{relative_path}}) - {{status}} ({{results.pass_rate}})"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Audit Log Standards
|
|
2
|
+
|
|
3
|
+
## Required Conventions
|
|
4
|
+
|
|
5
|
+
### 1. Immutability
|
|
6
|
+
- NEVER modify existing audit log entries
|
|
7
|
+
- ALWAYS create new entries for updates or corrections
|
|
8
|
+
- ALWAYS preserve original timestamps
|
|
9
|
+
|
|
10
|
+
### 2. Completeness
|
|
11
|
+
- ALWAYS include user/actor who performed the action
|
|
12
|
+
- ALWAYS include the action performed
|
|
13
|
+
- ALWAYS include the resource affected
|
|
14
|
+
- ALWAYS include timestamps in ISO 8601 format
|
|
15
|
+
|
|
16
|
+
### 3. Classification
|
|
17
|
+
- ALWAYS set appropriate audit_type (security, compliance, performance, access, change)
|
|
18
|
+
- ALWAYS set severity level (info, warning, critical)
|
|
19
|
+
- ALWAYS escalate critical events immediately
|
|
20
|
+
|
|
21
|
+
### 4. Evidence
|
|
22
|
+
- ALWAYS include supporting evidence for critical events
|
|
23
|
+
- ALWAYS reference related logs or tickets
|
|
24
|
+
- ALWAYS document the source of the event
|
|
25
|
+
|
|
26
|
+
## Best Practices
|
|
27
|
+
|
|
28
|
+
- Use unique audit_id format: `AUDIT-{timestamp}-{random}`
|
|
29
|
+
- Include IP addresses and session info for access events
|
|
30
|
+
- Link to related compliance requirements
|
|
31
|
+
- Set appropriate retention based on severity (critical = forever)
|
|
32
|
+
- Review audit logs periodically for patterns
|
|
33
|
+
- Never log sensitive data (passwords, tokens) in plain text
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
log_type: audit
|
|
3
|
+
title: {{title}}
|
|
4
|
+
audit_id: {{audit_id}}
|
|
5
|
+
date: {{date}}
|
|
6
|
+
status: {{status}}
|
|
7
|
+
audit_type: {{audit_type}}
|
|
8
|
+
severity: {{severity}}
|
|
9
|
+
{{#user}}
|
|
10
|
+
user: {{user}}
|
|
11
|
+
{{/user}}
|
|
12
|
+
{{#action}}
|
|
13
|
+
action: {{action}}
|
|
14
|
+
{{/action}}
|
|
15
|
+
{{#resource}}
|
|
16
|
+
resource: {{resource}}
|
|
17
|
+
{{/resource}}
|
|
18
|
+
{{#work_id}}
|
|
19
|
+
work_id: {{work_id}}
|
|
20
|
+
{{/work_id}}
|
|
21
|
+
{{#tags}}
|
|
22
|
+
tags:
|
|
23
|
+
{{#tags}}
|
|
24
|
+
- {{.}}
|
|
25
|
+
{{/tags}}
|
|
26
|
+
{{/tags}}
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
# Audit: {{title}}
|
|
30
|
+
|
|
31
|
+
## Event Details
|
|
32
|
+
|
|
33
|
+
- **Type**: {{audit_type}}
|
|
34
|
+
- **Severity**: {{severity}}
|
|
35
|
+
{{#user}}
|
|
36
|
+
- **User**: {{user}}
|
|
37
|
+
{{/user}}
|
|
38
|
+
{{#action}}
|
|
39
|
+
- **Action**: {{action}}
|
|
40
|
+
{{/action}}
|
|
41
|
+
{{#resource}}
|
|
42
|
+
- **Resource**: {{resource}}
|
|
43
|
+
{{/resource}}
|
|
44
|
+
|
|
45
|
+
## Context
|
|
46
|
+
|
|
47
|
+
{{context}}
|
|
48
|
+
|
|
49
|
+
{{#impact}}
|
|
50
|
+
## Impact Assessment
|
|
51
|
+
|
|
52
|
+
{{impact}}
|
|
53
|
+
{{/impact}}
|
|
54
|
+
|
|
55
|
+
{{#evidence}}
|
|
56
|
+
## Evidence
|
|
57
|
+
|
|
58
|
+
{{evidence}}
|
|
59
|
+
{{/evidence}}
|
|
60
|
+
|
|
61
|
+
{{#recommended_actions}}
|
|
62
|
+
## Recommended Actions
|
|
63
|
+
|
|
64
|
+
{{recommended_actions}}
|
|
65
|
+
{{/recommended_actions}}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Audit Log Type Definition
|
|
2
|
+
#
|
|
3
|
+
# This file defines the schema, frontmatter rules, and configuration
|
|
4
|
+
# for audit and compliance log entries.
|
|
5
|
+
|
|
6
|
+
id: audit
|
|
7
|
+
display_name: Audit Log
|
|
8
|
+
description: Security events, access logs, compliance tracking, change audits
|
|
9
|
+
|
|
10
|
+
# Output configuration
|
|
11
|
+
output_path: .fractary/logs/audit
|
|
12
|
+
|
|
13
|
+
# File naming rules
|
|
14
|
+
file_naming:
|
|
15
|
+
pattern: "{date}-{audit_id}.md"
|
|
16
|
+
date_format: "YYYYMMDD-HHmmss"
|
|
17
|
+
slug_source: audit_id
|
|
18
|
+
slug_max_length: 36
|
|
19
|
+
|
|
20
|
+
# Frontmatter schema
|
|
21
|
+
frontmatter:
|
|
22
|
+
required_fields:
|
|
23
|
+
- log_type
|
|
24
|
+
- title
|
|
25
|
+
- audit_id
|
|
26
|
+
- date
|
|
27
|
+
- status
|
|
28
|
+
- audit_type
|
|
29
|
+
- severity
|
|
30
|
+
optional_fields:
|
|
31
|
+
- user
|
|
32
|
+
- action
|
|
33
|
+
- resource
|
|
34
|
+
- work_id
|
|
35
|
+
- tags
|
|
36
|
+
defaults:
|
|
37
|
+
log_type: audit
|
|
38
|
+
status: active
|
|
39
|
+
|
|
40
|
+
# Document structure
|
|
41
|
+
structure:
|
|
42
|
+
required_sections:
|
|
43
|
+
- Event Details
|
|
44
|
+
- Context
|
|
45
|
+
optional_sections:
|
|
46
|
+
- Impact Assessment
|
|
47
|
+
- Evidence
|
|
48
|
+
- Recommended Actions
|
|
49
|
+
section_order:
|
|
50
|
+
- Event Details
|
|
51
|
+
- Context
|
|
52
|
+
- Impact Assessment
|
|
53
|
+
- Evidence
|
|
54
|
+
- Recommended Actions
|
|
55
|
+
|
|
56
|
+
# Status workflow
|
|
57
|
+
status:
|
|
58
|
+
allowed_values:
|
|
59
|
+
- active
|
|
60
|
+
- completed
|
|
61
|
+
- archived
|
|
62
|
+
default: active
|
|
63
|
+
|
|
64
|
+
# Audit type classification
|
|
65
|
+
audit_type:
|
|
66
|
+
allowed_values:
|
|
67
|
+
- security
|
|
68
|
+
- compliance
|
|
69
|
+
- performance
|
|
70
|
+
- access
|
|
71
|
+
- change
|
|
72
|
+
default: security
|
|
73
|
+
|
|
74
|
+
# Severity levels
|
|
75
|
+
severity:
|
|
76
|
+
allowed_values:
|
|
77
|
+
- info
|
|
78
|
+
- warning
|
|
79
|
+
- critical
|
|
80
|
+
default: info
|
|
81
|
+
|
|
82
|
+
# Retention policy
|
|
83
|
+
retention:
|
|
84
|
+
default_local_days: 90
|
|
85
|
+
default_cloud_days: forever
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Build Log Standards
|
|
2
|
+
|
|
3
|
+
## Required Conventions
|
|
4
|
+
|
|
5
|
+
### 1. Identification
|
|
6
|
+
- ALWAYS include unique build_id
|
|
7
|
+
- ALWAYS include commit SHA when building from git
|
|
8
|
+
- ALWAYS include branch name
|
|
9
|
+
|
|
10
|
+
### 2. Status Tracking
|
|
11
|
+
- ALWAYS update status as build progresses (pending -> running -> success/failure)
|
|
12
|
+
- ALWAYS include exit code on completion
|
|
13
|
+
- ALWAYS record duration in seconds
|
|
14
|
+
|
|
15
|
+
### 3. Output Capture
|
|
16
|
+
- ALWAYS capture full build output
|
|
17
|
+
- ALWAYS include error messages and stack traces on failure
|
|
18
|
+
- ALWAYS preserve output formatting
|
|
19
|
+
|
|
20
|
+
### 4. Artifacts
|
|
21
|
+
- ALWAYS list artifacts with full paths
|
|
22
|
+
- ALWAYS include artifact sizes when available
|
|
23
|
+
- ALWAYS note if artifacts were uploaded to storage
|
|
24
|
+
|
|
25
|
+
## Best Practices
|
|
26
|
+
|
|
27
|
+
- Use unique build_id format: `BUILD-{timestamp}-{random}`
|
|
28
|
+
- Truncate extremely long outputs with "[truncated]" marker
|
|
29
|
+
- Link builds to related issues/PRs via work_id
|
|
30
|
+
- Include environment variables that affect the build (sanitized)
|
|
31
|
+
- Record memory and CPU usage if available
|
|
32
|
+
- Archive build logs for successful production builds longer
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
log_type: build
|
|
3
|
+
title: {{title}}
|
|
4
|
+
build_id: {{build_id}}
|
|
5
|
+
date: {{date}}
|
|
6
|
+
status: {{status}}
|
|
7
|
+
{{#repository}}
|
|
8
|
+
repository: {{repository}}
|
|
9
|
+
{{/repository}}
|
|
10
|
+
{{#branch}}
|
|
11
|
+
branch: {{branch}}
|
|
12
|
+
{{/branch}}
|
|
13
|
+
{{#commit_sha}}
|
|
14
|
+
commit_sha: {{commit_sha}}
|
|
15
|
+
{{/commit_sha}}
|
|
16
|
+
{{#build_tool}}
|
|
17
|
+
build_tool: {{build_tool}}
|
|
18
|
+
{{/build_tool}}
|
|
19
|
+
{{#exit_code}}
|
|
20
|
+
exit_code: {{exit_code}}
|
|
21
|
+
{{/exit_code}}
|
|
22
|
+
{{#duration_seconds}}
|
|
23
|
+
duration_seconds: {{duration_seconds}}
|
|
24
|
+
{{/duration_seconds}}
|
|
25
|
+
{{#artifacts}}
|
|
26
|
+
artifacts:
|
|
27
|
+
{{#artifacts}}
|
|
28
|
+
- {{.}}
|
|
29
|
+
{{/artifacts}}
|
|
30
|
+
{{/artifacts}}
|
|
31
|
+
{{#work_id}}
|
|
32
|
+
work_id: {{work_id}}
|
|
33
|
+
{{/work_id}}
|
|
34
|
+
{{#tags}}
|
|
35
|
+
tags:
|
|
36
|
+
{{#tags}}
|
|
37
|
+
- {{.}}
|
|
38
|
+
{{/tags}}
|
|
39
|
+
{{/tags}}
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
# Build: {{title}}
|
|
43
|
+
|
|
44
|
+
## Configuration
|
|
45
|
+
|
|
46
|
+
- **Tool**: {{build_tool}}
|
|
47
|
+
{{#command}}
|
|
48
|
+
- **Command**: `{{command}}`
|
|
49
|
+
{{/command}}
|
|
50
|
+
{{#repository}}
|
|
51
|
+
- **Repository**: {{repository}}
|
|
52
|
+
{{/repository}}
|
|
53
|
+
{{#branch}}
|
|
54
|
+
- **Branch**: {{branch}}
|
|
55
|
+
{{/branch}}
|
|
56
|
+
{{#commit_sha}}
|
|
57
|
+
- **Commit**: {{commit_sha}}
|
|
58
|
+
{{/commit_sha}}
|
|
59
|
+
|
|
60
|
+
## Output
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
{{output}}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
{{#artifacts}}
|
|
67
|
+
## Artifacts
|
|
68
|
+
|
|
69
|
+
{{#artifacts}}
|
|
70
|
+
- {{.}}
|
|
71
|
+
{{/artifacts}}
|
|
72
|
+
{{/artifacts}}
|
|
73
|
+
|
|
74
|
+
{{#summary}}
|
|
75
|
+
## Summary
|
|
76
|
+
|
|
77
|
+
{{summary}}
|
|
78
|
+
{{/summary}}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Build Log Type Definition
|
|
2
|
+
#
|
|
3
|
+
# This file defines the schema, frontmatter rules, and configuration
|
|
4
|
+
# for build process log entries.
|
|
5
|
+
|
|
6
|
+
id: build
|
|
7
|
+
display_name: Build Log
|
|
8
|
+
description: CI/CD builds, compilation output, npm/cargo/make builds, build failures
|
|
9
|
+
|
|
10
|
+
# Output configuration
|
|
11
|
+
output_path: .fractary/logs/build
|
|
12
|
+
|
|
13
|
+
# File naming rules
|
|
14
|
+
file_naming:
|
|
15
|
+
pattern: "{date}-{build_id}.md"
|
|
16
|
+
date_format: "YYYYMMDD-HHmmss"
|
|
17
|
+
slug_source: build_id
|
|
18
|
+
slug_max_length: 36
|
|
19
|
+
|
|
20
|
+
# Frontmatter schema
|
|
21
|
+
frontmatter:
|
|
22
|
+
required_fields:
|
|
23
|
+
- log_type
|
|
24
|
+
- title
|
|
25
|
+
- build_id
|
|
26
|
+
- date
|
|
27
|
+
- status
|
|
28
|
+
optional_fields:
|
|
29
|
+
- repository
|
|
30
|
+
- branch
|
|
31
|
+
- commit_sha
|
|
32
|
+
- build_tool
|
|
33
|
+
- exit_code
|
|
34
|
+
- duration_seconds
|
|
35
|
+
- artifacts
|
|
36
|
+
- work_id
|
|
37
|
+
- tags
|
|
38
|
+
defaults:
|
|
39
|
+
log_type: build
|
|
40
|
+
status: pending
|
|
41
|
+
|
|
42
|
+
# Document structure
|
|
43
|
+
structure:
|
|
44
|
+
required_sections:
|
|
45
|
+
- Configuration
|
|
46
|
+
- Output
|
|
47
|
+
optional_sections:
|
|
48
|
+
- Artifacts
|
|
49
|
+
- Summary
|
|
50
|
+
section_order:
|
|
51
|
+
- Configuration
|
|
52
|
+
- Output
|
|
53
|
+
- Artifacts
|
|
54
|
+
- Summary
|
|
55
|
+
|
|
56
|
+
# Status workflow
|
|
57
|
+
status:
|
|
58
|
+
allowed_values:
|
|
59
|
+
- pending
|
|
60
|
+
- running
|
|
61
|
+
- success
|
|
62
|
+
- failure
|
|
63
|
+
- cancelled
|
|
64
|
+
default: pending
|
|
65
|
+
|
|
66
|
+
# Retention policy
|
|
67
|
+
retention:
|
|
68
|
+
default_local_days: 14
|
|
69
|
+
default_cloud_days: 30
|
|
70
|
+
auto_archive: true
|
|
71
|
+
cleanup_after_archive: true
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Changelog Log Standards
|
|
2
|
+
|
|
3
|
+
## Required Conventions
|
|
4
|
+
|
|
5
|
+
### 1. Versioning
|
|
6
|
+
- ALWAYS use semantic versioning (MAJOR.MINOR.PATCH)
|
|
7
|
+
- ALWAYS specify the version affected by the change
|
|
8
|
+
- ALWAYS increment version appropriately for change type
|
|
9
|
+
|
|
10
|
+
### 2. Change Types (Keep a Changelog format)
|
|
11
|
+
- **added**: New features
|
|
12
|
+
- **changed**: Changes in existing functionality
|
|
13
|
+
- **fixed**: Bug fixes
|
|
14
|
+
- **removed**: Removed features
|
|
15
|
+
- **deprecated**: Soon-to-be removed features
|
|
16
|
+
- **security**: Security vulnerability fixes
|
|
17
|
+
|
|
18
|
+
### 3. Breaking Changes
|
|
19
|
+
- ALWAYS mark breaking changes explicitly
|
|
20
|
+
- ALWAYS provide migration instructions for breaking changes
|
|
21
|
+
- ALWAYS include before/after examples for API changes
|
|
22
|
+
|
|
23
|
+
### 4. Linking
|
|
24
|
+
- ALWAYS reference related issues and PRs
|
|
25
|
+
- ALWAYS link to superseded changes if applicable
|
|
26
|
+
|
|
27
|
+
## Best Practices
|
|
28
|
+
|
|
29
|
+
- Use unique change_id format: `CHANGE-{timestamp}-{random}`
|
|
30
|
+
- Write changes from user perspective, not developer perspective
|
|
31
|
+
- Group related changes into single changelog entries
|
|
32
|
+
- Keep changelog entries permanent (historical record)
|
|
33
|
+
- Use conventional commit format for consistency
|
|
34
|
+
- Include deprecation timeline for deprecated features
|