@mandors/cli 0.3.0 → 0.3.3
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/.mandor/projects/cancel-reopen/events.jsonl +18 -0
- package/.mandor/projects/cancel-reopen/features.jsonl +3 -0
- package/.mandor/projects/cancel-reopen/issues.jsonl +1 -0
- package/.mandor/projects/cancel-reopen/project.jsonl +11 -0
- package/.mandor/projects/cancel-reopen/tasks.jsonl +2 -0
- package/.mandor/projects/config-test/events.jsonl +4 -0
- package/.mandor/projects/config-test/features.jsonl +1 -0
- package/.mandor/projects/config-test/project.jsonl +11 -0
- package/.mandor/projects/config-test/schema.json +29 -0
- package/.mandor/projects/config-test/tasks.jsonl +1 -0
- package/.mandor/projects/cross-dep-1/events.jsonl +6 -0
- package/.mandor/projects/cross-dep-1/features.jsonl +1 -0
- package/.mandor/projects/cross-dep-1/issues.jsonl +0 -0
- package/.mandor/projects/cross-dep-1/project.jsonl +11 -0
- package/.mandor/projects/cross-dep-1/schema.json +29 -0
- package/.mandor/projects/cross-dep-1/tasks.jsonl +1 -0
- package/.mandor/projects/cross-dep-2/events.jsonl +5 -0
- package/.mandor/projects/cross-dep-2/features.jsonl +1 -0
- package/.mandor/projects/cross-dep-2/issues.jsonl +0 -0
- package/.mandor/projects/cross-dep-2/project.jsonl +11 -0
- package/.mandor/projects/cross-dep-2/schema.json +29 -0
- package/.mandor/projects/cross-dep-2/tasks.jsonl +1 -0
- package/.mandor/projects/cycle-test/events.jsonl +8 -0
- package/.mandor/projects/cycle-test/features.jsonl +1 -0
- package/.mandor/projects/cycle-test/issues.jsonl +0 -0
- package/.mandor/projects/cycle-test/project.jsonl +11 -0
- package/.mandor/projects/cycle-test/schema.json +29 -0
- package/.mandor/projects/cycle-test/tasks.jsonl +3 -0
- package/.mandor/projects/cycle-test-2/events.jsonl +4 -0
- package/.mandor/projects/cycle-test-2/features.jsonl +1 -0
- package/.mandor/projects/cycle-test-2/issues.jsonl +0 -0
- package/.mandor/projects/cycle-test-2/project.jsonl +11 -0
- package/.mandor/projects/cycle-test-2/schema.json +29 -0
- package/.mandor/projects/cycle-test-2/tasks.jsonl +1 -0
- package/.mandor/projects/deep-chain/events.jsonl +8 -0
- package/.mandor/projects/deep-chain/features.jsonl +1 -0
- package/.mandor/projects/deep-chain/issues.jsonl +0 -0
- package/.mandor/projects/deep-chain/project.jsonl +11 -0
- package/.mandor/projects/deep-chain/schema.json +29 -0
- package/.mandor/projects/deep-chain/tasks.jsonl +3 -0
- package/.mandor/projects/feature-chain/events.jsonl +12 -0
- package/.mandor/projects/feature-chain/features.jsonl +3 -0
- package/.mandor/projects/feature-chain/issues.jsonl +0 -0
- package/.mandor/projects/feature-chain/project.jsonl +11 -0
- package/.mandor/projects/feature-chain/schema.json +29 -0
- package/.mandor/projects/feature-chain/tasks.jsonl +1 -0
- package/.mandor/projects/feature-lock/events.jsonl +5 -0
- package/.mandor/projects/feature-lock/features.jsonl +1 -0
- package/.mandor/projects/feature-lock/issues.jsonl +0 -0
- package/.mandor/projects/feature-lock/project.jsonl +11 -0
- package/.mandor/projects/feature-lock/schema.json +29 -0
- package/.mandor/projects/feature-lock/tasks.jsonl +1 -0
- package/.mandor/projects/issue-state/events.jsonl +7 -0
- package/.mandor/projects/issue-state/features.jsonl +0 -0
- package/.mandor/projects/issue-state/issues.jsonl +2 -0
- package/.mandor/projects/issue-state/project.jsonl +11 -0
- package/.mandor/projects/issue-state/schema.json +29 -0
- package/.mandor/projects/issue-state/tasks.jsonl +0 -0
- package/.mandor/projects/issue-types/events.jsonl +19 -0
- package/.mandor/projects/issue-types/features.jsonl +0 -0
- package/.mandor/projects/issue-types/issues.jsonl +6 -0
- package/.mandor/projects/issue-types/project.jsonl +11 -0
- package/.mandor/projects/issue-types/schema.json +29 -0
- package/.mandor/projects/issue-types/tasks.jsonl +0 -0
- package/.mandor/projects/multi-chain-1/events.jsonl +6 -0
- package/.mandor/projects/multi-chain-1/features.jsonl +1 -0
- package/.mandor/projects/multi-chain-1/issues.jsonl +0 -0
- package/.mandor/projects/multi-chain-1/project.jsonl +11 -0
- package/.mandor/projects/multi-chain-1/schema.json +29 -0
- package/.mandor/projects/multi-chain-1/tasks.jsonl +1 -0
- package/.mandor/projects/multi-chain-2/events.jsonl +7 -0
- package/.mandor/projects/multi-chain-2/features.jsonl +1 -0
- package/.mandor/projects/multi-chain-2/issues.jsonl +0 -0
- package/.mandor/projects/multi-chain-2/project.jsonl +11 -0
- package/.mandor/projects/multi-chain-2/schema.json +29 -0
- package/.mandor/projects/multi-chain-2/tasks.jsonl +1 -0
- package/.mandor/projects/multi-chain-3/events.jsonl +7 -0
- package/.mandor/projects/multi-chain-3/features.jsonl +1 -0
- package/.mandor/projects/multi-chain-3/issues.jsonl +0 -0
- package/.mandor/projects/multi-chain-3/project.jsonl +11 -0
- package/.mandor/projects/multi-chain-3/schema.json +29 -0
- package/.mandor/projects/multi-chain-3/tasks.jsonl +1 -0
- package/.mandor/projects/priority-filter/events.jsonl +10 -0
- package/.mandor/projects/priority-filter/features.jsonl +1 -0
- package/.mandor/projects/priority-filter/issues.jsonl +0 -0
- package/.mandor/projects/priority-filter/project.jsonl +11 -0
- package/.mandor/projects/priority-filter/schema.json +29 -0
- package/.mandor/projects/priority-filter/tasks.jsonl +4 -0
- package/.mandor/projects/priority-test/events.jsonl +4 -0
- package/.mandor/projects/priority-test/features.jsonl +1 -0
- package/.mandor/projects/priority-test/issues.jsonl +0 -0
- package/.mandor/projects/priority-test/project.jsonl +11 -0
- package/.mandor/projects/priority-test/schema.json +29 -0
- package/.mandor/projects/priority-test/tasks.jsonl +1 -0
- package/.mandor/projects/same-only-1/events.jsonl +4 -0
- package/.mandor/projects/same-only-1/features.jsonl +1 -0
- package/.mandor/projects/same-only-1/issues.jsonl +0 -0
- package/.mandor/projects/same-only-1/project.jsonl +11 -0
- package/.mandor/projects/same-only-1/schema.json +29 -0
- package/.mandor/projects/same-only-1/tasks.jsonl +1 -0
- package/.mandor/projects/same-only-2/events.jsonl +2 -0
- package/.mandor/projects/same-only-2/features.jsonl +1 -0
- package/.mandor/projects/same-only-2/issues.jsonl +0 -0
- package/.mandor/projects/same-only-2/project.jsonl +11 -0
- package/.mandor/projects/same-only-2/schema.json +29 -0
- package/.mandor/projects/same-only-2/tasks.jsonl +0 -0
- package/.mandor/projects/scope-constraint/events.jsonl +4 -0
- package/.mandor/projects/scope-constraint/features.jsonl +3 -0
- package/.mandor/projects/scope-constraint/issues.jsonl +0 -0
- package/.mandor/projects/scope-constraint/project.jsonl +11 -0
- package/.mandor/projects/scope-constraint/schema.json +29 -0
- package/.mandor/projects/scope-constraint/tasks.jsonl +0 -0
- package/.mandor/projects/scope-test/events.jsonl +2 -0
- package/.mandor/projects/scope-test/features.jsonl +1 -0
- package/.mandor/projects/scope-test/issues.jsonl +0 -0
- package/.mandor/projects/scope-test/project.jsonl +11 -0
- package/.mandor/projects/scope-test/schema.json +29 -0
- package/.mandor/projects/scope-test/tasks.jsonl +0 -0
- package/.mandor/projects/soft-delete-test/events.jsonl +14 -0
- package/.mandor/projects/soft-delete-test/features.jsonl +2 -0
- package/.mandor/projects/soft-delete-test/issues.jsonl +0 -0
- package/.mandor/projects/soft-delete-test/project.jsonl +11 -0
- package/.mandor/projects/soft-delete-test/schema.json +29 -0
- package/.mandor/projects/soft-delete-test/tasks.jsonl +4 -0
- package/.mandor/projects/status-flow/events.jsonl +29 -0
- package/.mandor/projects/status-flow/features.jsonl +3 -0
- package/.mandor/projects/status-flow/issues.jsonl +1 -0
- package/.mandor/projects/status-flow/project.jsonl +11 -0
- package/.mandor/projects/status-flow/schema.json +29 -0
- package/.mandor/projects/status-flow/tasks.jsonl +5 -0
- package/.mandor/projects/task-field-test/events.jsonl +8 -0
- package/.mandor/projects/task-field-test/features.jsonl +1 -0
- package/.mandor/projects/task-field-test/issues.jsonl +0 -0
- package/.mandor/projects/task-field-test/project.jsonl +11 -0
- package/.mandor/projects/task-field-test/schema.json +29 -0
- package/.mandor/projects/task-field-test/tasks.jsonl +3 -0
- package/.mandor/projects/test-diamond/events.jsonl +21 -0
- package/.mandor/projects/test-diamond/features.jsonl +1 -0
- package/.mandor/projects/test-diamond/issues.jsonl +0 -0
- package/.mandor/projects/test-diamond/project.jsonl +11 -0
- package/.mandor/projects/test-diamond/schema.json +29 -0
- package/.mandor/projects/test-diamond/tasks.jsonl +4 -0
- package/.mandor/projects/test-fanin/events.jsonl +17 -0
- package/.mandor/projects/test-fanin/features.jsonl +1 -0
- package/.mandor/projects/test-fanin/issues.jsonl +0 -0
- package/.mandor/projects/test-fanin/project.jsonl +11 -0
- package/.mandor/projects/test-fanin/schema.json +29 -0
- package/.mandor/projects/test-fanin/tasks.jsonl +4 -0
- package/.mandor/projects/test-fanout/events.jsonl +18 -0
- package/.mandor/projects/test-fanout/features.jsonl +1 -0
- package/.mandor/projects/test-fanout/issues.jsonl +0 -0
- package/.mandor/projects/test-fanout/project.jsonl +11 -0
- package/.mandor/projects/test-fanout/schema.json +29 -0
- package/.mandor/projects/test-fanout/tasks.jsonl +5 -0
- package/.mandor/projects/test-linear/events.jsonl +21 -0
- package/.mandor/projects/test-linear/features.jsonl +1 -0
- package/.mandor/projects/test-linear/issues.jsonl +0 -0
- package/.mandor/projects/test-linear/project.jsonl +11 -0
- package/.mandor/projects/test-linear/schema.json +29 -0
- package/.mandor/projects/test-linear/tasks.jsonl +4 -0
- package/.mandor/workspace.json +6 -6
- package/README.md +591 -267
- package/binaries/darwin-arm64/mandor +0 -0
- package/binaries/darwin-arm64.tar.gz +0 -0
- package/{mandor → binaries/darwin-x64/mandor} +0 -0
- package/binaries/darwin-x64.tar.gz +0 -0
- package/binaries/linux-arm64/mandor +0 -0
- package/binaries/linux-arm64.tar.gz +0 -0
- package/binaries/linux-x64/mandor +0 -0
- package/binaries/linux-x64.tar.gz +0 -0
- package/binaries/mandor +0 -0
- package/binaries/win32-arm64/mandor.exe +0 -0
- package/binaries/win32-arm64.tar.gz +0 -0
- package/binaries/win32-x64/mandor.exe +0 -0
- package/binaries/win32-x64.tar.gz +0 -0
- package/package.json +1 -1
- package/testscen11/.mandor/projects/proj11/events.jsonl +38 -0
- package/testscen11/.mandor/projects/proj11/features.jsonl +3 -0
- package/testscen11/.mandor/projects/proj11/issues.jsonl +1 -0
- package/testscen11/.mandor/projects/proj11/project.jsonl +11 -0
- package/testscen11/.mandor/projects/proj11/schema.json +29 -0
- package/testscen11/.mandor/projects/proj11/tasks.jsonl +6 -0
- package/testscen11/.mandor/workspace.json +13 -0
- package/testscen12/.mandor/workspace.json +13 -0
- package/.mandor/projects/api/events.jsonl +0 -9
- package/.mandor/projects/api/features.jsonl +0 -1
- package/.mandor/projects/api/project.jsonl +0 -11
- package/.mandor/projects/api/tasks.jsonl +0 -2
- /package/.mandor/projects/{api → cancel-reopen}/schema.json +0 -0
- /package/.mandor/projects/{api → config-test}/issues.jsonl +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "mandor.v1",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"rules": {
|
|
5
|
+
"task": {
|
|
6
|
+
"dependency": "same_project_only",
|
|
7
|
+
"cycle": "disallowed"
|
|
8
|
+
},
|
|
9
|
+
"feature": {
|
|
10
|
+
"dependency": "cross_project_allowed",
|
|
11
|
+
"cycle": "disallowed"
|
|
12
|
+
},
|
|
13
|
+
"issue": {
|
|
14
|
+
"dependency": "same_project_only",
|
|
15
|
+
"cycle": "disallowed"
|
|
16
|
+
},
|
|
17
|
+
"priority": {
|
|
18
|
+
"levels": [
|
|
19
|
+
"P0",
|
|
20
|
+
"P1",
|
|
21
|
+
"P2",
|
|
22
|
+
"P3",
|
|
23
|
+
"P4",
|
|
24
|
+
"P5"
|
|
25
|
+
],
|
|
26
|
+
"default": "P3"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"scope-test-feature-16vL","project_id":"scope-test","name":"Feature-backend","goal":"Backend feature","scope":"backend","priority":"P3","status":"draft","created_at":"2026-02-01T06:12:51.72955Z","updated_at":"2026-02-01T06:12:51.72955Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "scope-test",
|
|
3
|
+
"name": "Scope Test",
|
|
4
|
+
"goal": "Testing scope validation",
|
|
5
|
+
"status": "initial",
|
|
6
|
+
"strict": false,
|
|
7
|
+
"created_at": "2026-02-01T06:12:46.648267Z",
|
|
8
|
+
"updated_at": "2026-02-01T06:12:46.648267Z",
|
|
9
|
+
"created_by": "BUDISANTOSO",
|
|
10
|
+
"updated_by": "BUDISANTOSO"
|
|
11
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "mandor.v1",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"rules": {
|
|
5
|
+
"task": {
|
|
6
|
+
"dependency": "same_project_only",
|
|
7
|
+
"cycle": "disallowed"
|
|
8
|
+
},
|
|
9
|
+
"feature": {
|
|
10
|
+
"dependency": "cross_project_allowed",
|
|
11
|
+
"cycle": "disallowed"
|
|
12
|
+
},
|
|
13
|
+
"issue": {
|
|
14
|
+
"dependency": "same_project_only",
|
|
15
|
+
"cycle": "disallowed"
|
|
16
|
+
},
|
|
17
|
+
"priority": {
|
|
18
|
+
"levels": [
|
|
19
|
+
"P0",
|
|
20
|
+
"P1",
|
|
21
|
+
"P2",
|
|
22
|
+
"P3",
|
|
23
|
+
"P4",
|
|
24
|
+
"P5"
|
|
25
|
+
],
|
|
26
|
+
"default": "P3"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{"layer":"project","type":"created","id":"soft-delete-test","by":"BUDISANTOSO","ts":"2026-02-01T06:24:12.819109Z"}
|
|
2
|
+
{"layer":"feature","type":"created","id":"soft-delete-test-feature-M6sS","by":"BUDISANTOSO","ts":"2026-02-01T06:24:20.246913Z"}
|
|
3
|
+
{"layer":"task","type":"created","id":"soft-delete-test-feature-M6sS-task-pi21","by":"BUDISANTOSO","ts":"2026-02-01T06:24:26.920548Z"}
|
|
4
|
+
{"layer":"task","type":"ready","id":"soft-delete-test-feature-M6sS-task-pi21","by":"system","ts":"2026-02-01T06:24:26.920548Z"}
|
|
5
|
+
{"layer":"task","type":"updated","id":"soft-delete-test-feature-M6sS-task-pi21","by":"BUDISANTOSO","ts":"2026-02-01T06:24:32.878262Z","changes":["status","reason"]}
|
|
6
|
+
{"layer":"feature","type":"created","id":"soft-delete-test-feature-dGMz","by":"BUDISANTOSO","ts":"2026-02-01T06:25:37.459418Z"}
|
|
7
|
+
{"layer":"task","type":"created","id":"soft-delete-test-feature-dGMz-task-Ip3J","by":"BUDISANTOSO","ts":"2026-02-01T06:25:57.167836Z"}
|
|
8
|
+
{"layer":"task","type":"ready","id":"soft-delete-test-feature-dGMz-task-Ip3J","by":"system","ts":"2026-02-01T06:25:57.167836Z"}
|
|
9
|
+
{"layer":"task","type":"created","id":"soft-delete-test-feature-dGMz-task-ZCE2","by":"BUDISANTOSO","ts":"2026-02-01T06:25:57.191101Z"}
|
|
10
|
+
{"layer":"task","type":"ready","id":"soft-delete-test-feature-dGMz-task-ZCE2","by":"system","ts":"2026-02-01T06:25:57.191101Z"}
|
|
11
|
+
{"layer":"task","type":"created","id":"soft-delete-test-feature-dGMz-task-IQZR","by":"BUDISANTOSO","ts":"2026-02-01T06:25:57.209347Z"}
|
|
12
|
+
{"layer":"task","type":"ready","id":"soft-delete-test-feature-dGMz-task-IQZR","by":"system","ts":"2026-02-01T06:25:57.209347Z"}
|
|
13
|
+
{"layer":"feature","type":"updated","id":"soft-delete-test-feature-dGMz","by":"BUDISANTOSO","ts":"2026-02-01T06:26:10.328183Z","changes":["status","reason"]}
|
|
14
|
+
{"layer":"feature","type":"updated","id":"soft-delete-test-feature-dGMz","by":"BUDISANTOSO","ts":"2026-02-01T06:26:47.812259Z","changes":["status","reason"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
{"id":"soft-delete-test-feature-M6sS","project_id":"soft-delete-test","name":"Feature-soft","goal":"Feature for soft delete test","priority":"P3","status":"draft","created_at":"2026-02-01T06:24:20.246913Z","updated_at":"2026-02-01T06:24:20.246913Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
2
|
+
{"id":"soft-delete-test-feature-dGMz","project_id":"soft-delete-test","name":"F-del","goal":"Feature for deletion test","priority":"P3","status":"draft","created_at":"2026-02-01T06:25:37.459418Z","updated_at":"2026-02-01T06:26:47.812259Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "soft-delete-test",
|
|
3
|
+
"name": "Soft Delete Test",
|
|
4
|
+
"goal": "Testing soft delete semantics",
|
|
5
|
+
"status": "initial",
|
|
6
|
+
"strict": false,
|
|
7
|
+
"created_at": "2026-02-01T06:24:12.819109Z",
|
|
8
|
+
"updated_at": "2026-02-01T06:24:12.819109Z",
|
|
9
|
+
"created_by": "BUDISANTOSO",
|
|
10
|
+
"updated_by": "BUDISANTOSO"
|
|
11
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "mandor.v1",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"rules": {
|
|
5
|
+
"task": {
|
|
6
|
+
"dependency": "same_project_only",
|
|
7
|
+
"cycle": "disallowed"
|
|
8
|
+
},
|
|
9
|
+
"feature": {
|
|
10
|
+
"dependency": "cross_project_allowed",
|
|
11
|
+
"cycle": "disallowed"
|
|
12
|
+
},
|
|
13
|
+
"issue": {
|
|
14
|
+
"dependency": "same_project_only",
|
|
15
|
+
"cycle": "disallowed"
|
|
16
|
+
},
|
|
17
|
+
"priority": {
|
|
18
|
+
"levels": [
|
|
19
|
+
"P0",
|
|
20
|
+
"P1",
|
|
21
|
+
"P2",
|
|
22
|
+
"P3",
|
|
23
|
+
"P4",
|
|
24
|
+
"P5"
|
|
25
|
+
],
|
|
26
|
+
"default": "P3"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
{"id":"soft-delete-test-feature-M6sS-task-pi21","feature_id":"soft-delete-test-feature-M6sS","project_id":"soft-delete-test","name":"T1","goal":"Task to soft delete","priority":"P3","status":"cancelled","reason":"Testing soft delete semantics","implementation_steps":["step1","step2","step3"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:24:26.920548Z","updated_at":"2026-02-01T06:24:32.878262Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
2
|
+
{"id":"soft-delete-test-feature-dGMz-task-Ip3J","feature_id":"soft-delete-test-feature-dGMz","project_id":"soft-delete-test","name":"T-del1","goal":"Task 1","priority":"P3","status":"ready","implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:25:57.167836Z","updated_at":"2026-02-01T06:25:57.167836Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
3
|
+
{"id":"soft-delete-test-feature-dGMz-task-ZCE2","feature_id":"soft-delete-test-feature-dGMz","project_id":"soft-delete-test","name":"T-del2","goal":"Task 2","priority":"P3","status":"ready","implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:25:57.191101Z","updated_at":"2026-02-01T06:25:57.191101Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
4
|
+
{"id":"soft-delete-test-feature-dGMz-task-IQZR","feature_id":"soft-delete-test-feature-dGMz","project_id":"soft-delete-test","name":"T-del3","goal":"Task 3","priority":"P3","status":"ready","implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:25:57.209347Z","updated_at":"2026-02-01T06:25:57.209347Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{"layer":"project","type":"created","id":"status-flow","by":"BUDISANTOSO","ts":"2026-02-01T06:30:19.304424Z"}
|
|
2
|
+
{"layer":"feature","type":"created","id":"status-flow-feature-1KPS","by":"BUDISANTOSO","ts":"2026-02-01T06:30:27.030088Z"}
|
|
3
|
+
{"layer":"task","type":"created","id":"status-flow-feature-1KPS-task-Yenh","by":"BUDISANTOSO","ts":"2026-02-01T06:30:35.748976Z"}
|
|
4
|
+
{"layer":"task","type":"ready","id":"status-flow-feature-1KPS-task-Yenh","by":"system","ts":"2026-02-01T06:30:35.748976Z"}
|
|
5
|
+
{"layer":"task","type":"created","id":"status-flow-feature-1KPS-task-OQb8","by":"BUDISANTOSO","ts":"2026-02-01T06:30:42.996719Z"}
|
|
6
|
+
{"layer":"task","type":"blocked","id":"status-flow-feature-1KPS-task-OQb8","by":"system","ts":"2026-02-01T06:30:42.996719Z"}
|
|
7
|
+
{"layer":"task","type":"updated","id":"status-flow-feature-1KPS-task-Yenh","by":"BUDISANTOSO","ts":"2026-02-01T06:30:49.897411Z","changes":["status"]}
|
|
8
|
+
{"layer":"task","type":"ready","id":"status-flow-feature-1KPS-task-OQb8","by":"system","ts":"2026-02-01T06:30:49.922526Z"}
|
|
9
|
+
{"layer":"task","type":"updated","id":"status-flow-feature-1KPS-task-Yenh","by":"BUDISANTOSO","ts":"2026-02-01T06:30:49.92223Z","changes":["status","dependent_unblocked"]}
|
|
10
|
+
{"layer":"feature","type":"created","id":"status-flow-feature-ccT9","by":"BUDISANTOSO","ts":"2026-02-01T06:31:20.817331Z"}
|
|
11
|
+
{"layer":"feature","type":"updated","id":"status-flow-feature-1KPS","by":"BUDISANTOSO","ts":"2026-02-01T06:31:20.841132Z","changes":["status"]}
|
|
12
|
+
{"layer":"feature","type":"updated","id":"status-flow-feature-1KPS","by":"BUDISANTOSO","ts":"2026-02-01T06:31:20.858554Z","changes":["status"]}
|
|
13
|
+
{"layer":"issue","type":"created","id":"status-flow-issue-K3aD","by":"BUDISANTOSO","ts":"2026-02-01T06:31:37.068959Z"}
|
|
14
|
+
{"layer":"issue","type":"ready","id":"status-flow-issue-K3aD","by":"system","ts":"2026-02-01T06:31:37.068959Z"}
|
|
15
|
+
{"layer":"issue","type":"updated","id":"status-flow-issue-K3aD","by":"BUDISANTOSO","ts":"2026-02-01T06:31:43.169136Z","changes":["status"]}
|
|
16
|
+
{"layer":"issue","type":"updated","id":"status-flow-issue-K3aD","by":"BUDISANTOSO","ts":"2026-02-01T06:31:43.184426Z","changes":["status"]}
|
|
17
|
+
{"layer":"feature","type":"created","id":"status-flow-feature-xBaz","by":"BUDISANTOSO","ts":"2026-02-01T06:32:11.302935Z"}
|
|
18
|
+
{"layer":"task","type":"created","id":"status-flow-feature-xBaz-task-avF1","by":"BUDISANTOSO","ts":"2026-02-01T06:32:19.284706Z"}
|
|
19
|
+
{"layer":"task","type":"ready","id":"status-flow-feature-xBaz-task-avF1","by":"system","ts":"2026-02-01T06:32:19.284706Z"}
|
|
20
|
+
{"layer":"task","type":"created","id":"status-flow-feature-xBaz-task-ZFZh","by":"BUDISANTOSO","ts":"2026-02-01T06:32:33.213374Z"}
|
|
21
|
+
{"layer":"task","type":"blocked","id":"status-flow-feature-xBaz-task-ZFZh","by":"system","ts":"2026-02-01T06:32:33.213374Z"}
|
|
22
|
+
{"layer":"task","type":"created","id":"status-flow-feature-xBaz-task-86AB","by":"BUDISANTOSO","ts":"2026-02-01T06:32:40.276103Z"}
|
|
23
|
+
{"layer":"task","type":"blocked","id":"status-flow-feature-xBaz-task-86AB","by":"system","ts":"2026-02-01T06:32:40.276103Z"}
|
|
24
|
+
{"layer":"task","type":"updated","id":"status-flow-feature-xBaz-task-avF1","by":"BUDISANTOSO","ts":"2026-02-01T06:32:49.87046Z","changes":["status"]}
|
|
25
|
+
{"layer":"task","type":"ready","id":"status-flow-feature-xBaz-task-ZFZh","by":"system","ts":"2026-02-01T06:32:49.895342Z"}
|
|
26
|
+
{"layer":"task","type":"updated","id":"status-flow-feature-xBaz-task-avF1","by":"BUDISANTOSO","ts":"2026-02-01T06:32:49.895098Z","changes":["status","dependent_unblocked"]}
|
|
27
|
+
{"layer":"task","type":"updated","id":"status-flow-feature-xBaz-task-ZFZh","by":"BUDISANTOSO","ts":"2026-02-01T06:32:57.379705Z","changes":["status"]}
|
|
28
|
+
{"layer":"task","type":"ready","id":"status-flow-feature-xBaz-task-86AB","by":"system","ts":"2026-02-01T06:32:57.405506Z"}
|
|
29
|
+
{"layer":"task","type":"updated","id":"status-flow-feature-xBaz-task-ZFZh","by":"BUDISANTOSO","ts":"2026-02-01T06:32:57.405236Z","changes":["status","dependent_unblocked"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{"id":"status-flow-feature-ccT9","project_id":"status-flow","name":"F1-status","goal":"Feature for status flow test","priority":"P3","status":"draft","created_at":"2026-02-01T06:31:20.817331Z","updated_at":"2026-02-01T06:31:20.817331Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
2
|
+
{"id":"status-flow-feature-1KPS","project_id":"status-flow","name":"F-status","goal":"Feature for status test","priority":"P3","status":"done","created_at":"2026-02-01T06:30:27.030088Z","updated_at":"2026-02-01T06:31:20.858554Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
3
|
+
{"id":"status-flow-feature-xBaz","project_id":"status-flow","name":"F-unblock","goal":"Feature for unblock test","priority":"P3","status":"draft","created_at":"2026-02-01T06:32:11.302935Z","updated_at":"2026-02-01T06:32:11.302935Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"status-flow-issue-K3aD","project_id":"status-flow","name":"I-status","goal":"Issue for status flow test. Problem: None. Impact: None. Acceptance: None.","issue_type":"bug","priority":"P3","status":"resolved","affected_files":["file.js"],"affected_tests":["test.js"],"implementation_steps":["step1"],"created_at":"2026-02-01T06:31:37.068959Z","last_updated_at":"2026-02-01T06:31:43.184426Z","created_by":"BUDISANTOSO","last_updated_by":"BUDISANTOSO"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "status-flow",
|
|
3
|
+
"name": "Status Flow",
|
|
4
|
+
"goal": "Testing status transitions",
|
|
5
|
+
"status": "initial",
|
|
6
|
+
"strict": false,
|
|
7
|
+
"created_at": "2026-02-01T06:30:19.304424Z",
|
|
8
|
+
"updated_at": "2026-02-01T06:30:19.304424Z",
|
|
9
|
+
"created_by": "BUDISANTOSO",
|
|
10
|
+
"updated_by": "BUDISANTOSO"
|
|
11
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "mandor.v1",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"rules": {
|
|
5
|
+
"task": {
|
|
6
|
+
"dependency": "same_project_only",
|
|
7
|
+
"cycle": "disallowed"
|
|
8
|
+
},
|
|
9
|
+
"feature": {
|
|
10
|
+
"dependency": "cross_project_allowed",
|
|
11
|
+
"cycle": "disallowed"
|
|
12
|
+
},
|
|
13
|
+
"issue": {
|
|
14
|
+
"dependency": "same_project_only",
|
|
15
|
+
"cycle": "disallowed"
|
|
16
|
+
},
|
|
17
|
+
"priority": {
|
|
18
|
+
"levels": [
|
|
19
|
+
"P0",
|
|
20
|
+
"P1",
|
|
21
|
+
"P2",
|
|
22
|
+
"P3",
|
|
23
|
+
"P4",
|
|
24
|
+
"P5"
|
|
25
|
+
],
|
|
26
|
+
"default": "P3"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{"id":"status-flow-feature-1KPS-task-OQb8","feature_id":"status-flow-feature-1KPS","project_id":"status-flow","name":"T2","goal":"Task 2","priority":"P3","status":"ready","depends_on":["status-flow-feature-1KPS-task-Yenh"],"implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:30:42.996719Z","updated_at":"2026-02-01T06:30:49.922526Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
2
|
+
{"id":"status-flow-feature-1KPS-task-Yenh","feature_id":"status-flow-feature-1KPS","project_id":"status-flow","name":"T1","goal":"Task 1","priority":"P3","status":"done","implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:30:35.748976Z","updated_at":"2026-02-01T06:30:49.92223Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
3
|
+
{"id":"status-flow-feature-xBaz-task-86AB","feature_id":"status-flow-feature-xBaz","project_id":"status-flow","name":"T-unblock3","goal":"Task 3","priority":"P3","status":"ready","depends_on":["status-flow-feature-xBaz-task-ZFZh"],"implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:32:40.276103Z","updated_at":"2026-02-01T06:32:57.405506Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
4
|
+
{"id":"status-flow-feature-xBaz-task-avF1","feature_id":"status-flow-feature-xBaz","project_id":"status-flow","name":"T-unblock1","goal":"Task 1","priority":"P3","status":"done","implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:32:19.284706Z","updated_at":"2026-02-01T06:32:49.895098Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
5
|
+
{"id":"status-flow-feature-xBaz-task-ZFZh","feature_id":"status-flow-feature-xBaz","project_id":"status-flow","name":"T-unblock2","goal":"Task 2","priority":"P3","status":"done","depends_on":["status-flow-feature-xBaz-task-avF1"],"implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:32:33.213374Z","updated_at":"2026-02-01T06:32:57.405236Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{"layer":"project","type":"created","id":"task-field-test","by":"BUDISANTOSO","ts":"2026-02-01T06:14:37.96708Z"}
|
|
2
|
+
{"layer":"feature","type":"created","id":"task-field-test-feature-YUYR","by":"BUDISANTOSO","ts":"2026-02-01T06:14:47.522551Z"}
|
|
3
|
+
{"layer":"task","type":"created","id":"task-field-test-feature-YUYR-task-pI6t","by":"BUDISANTOSO","ts":"2026-02-01T06:14:53.652798Z"}
|
|
4
|
+
{"layer":"task","type":"ready","id":"task-field-test-feature-YUYR-task-pI6t","by":"system","ts":"2026-02-01T06:14:53.652798Z"}
|
|
5
|
+
{"layer":"task","type":"created","id":"task-field-test-feature-YUYR-task-XTo7","by":"BUDISANTOSO","ts":"2026-02-01T06:15:29.600115Z"}
|
|
6
|
+
{"layer":"task","type":"ready","id":"task-field-test-feature-YUYR-task-XTo7","by":"system","ts":"2026-02-01T06:15:29.600115Z"}
|
|
7
|
+
{"layer":"task","type":"created","id":"task-field-test-feature-YUYR-task-Dr2K","by":"BUDISANTOSO","ts":"2026-02-01T06:16:08.201203Z"}
|
|
8
|
+
{"layer":"task","type":"ready","id":"task-field-test-feature-YUYR-task-Dr2K","by":"system","ts":"2026-02-01T06:16:08.201203Z"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"task-field-test-feature-YUYR","project_id":"task-field-test","name":"Feature-fields","goal":"Feature for field test","priority":"P3","status":"draft","created_at":"2026-02-01T06:14:47.522551Z","updated_at":"2026-02-01T06:14:47.522551Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "task-field-test",
|
|
3
|
+
"name": "Task Field Test",
|
|
4
|
+
"goal": "Testing task field storage",
|
|
5
|
+
"status": "initial",
|
|
6
|
+
"strict": false,
|
|
7
|
+
"created_at": "2026-02-01T06:14:37.96708Z",
|
|
8
|
+
"updated_at": "2026-02-01T06:14:37.96708Z",
|
|
9
|
+
"created_by": "BUDISANTOSO",
|
|
10
|
+
"updated_by": "BUDISANTOSO"
|
|
11
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "mandor.v1",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"rules": {
|
|
5
|
+
"task": {
|
|
6
|
+
"dependency": "same_project_only",
|
|
7
|
+
"cycle": "disallowed"
|
|
8
|
+
},
|
|
9
|
+
"feature": {
|
|
10
|
+
"dependency": "cross_project_allowed",
|
|
11
|
+
"cycle": "disallowed"
|
|
12
|
+
},
|
|
13
|
+
"issue": {
|
|
14
|
+
"dependency": "same_project_only",
|
|
15
|
+
"cycle": "disallowed"
|
|
16
|
+
},
|
|
17
|
+
"priority": {
|
|
18
|
+
"levels": [
|
|
19
|
+
"P0",
|
|
20
|
+
"P1",
|
|
21
|
+
"P2",
|
|
22
|
+
"P3",
|
|
23
|
+
"P4",
|
|
24
|
+
"P5"
|
|
25
|
+
],
|
|
26
|
+
"default": "P3"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{"id":"task-field-test-feature-YUYR-task-pI6t","feature_id":"task-field-test-feature-YUYR","project_id":"task-field-test","name":"Task-with-steps","goal":"Task with implementation steps","priority":"P3","status":"ready","implementation_steps":["step1","step2","step3"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:14:53.652798Z","updated_at":"2026-02-01T06:14:53.652798Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
2
|
+
{"id":"task-field-test-feature-YUYR-task-XTo7","feature_id":"task-field-test-feature-YUYR","project_id":"task-field-test","name":"Task-with-tests","goal":"Task with test cases","priority":"P3","status":"ready","implementation_steps":["none"],"test_cases":["test1","test2","test3"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:15:29.600115Z","updated_at":"2026-02-01T06:15:29.600115Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
3
|
+
{"id":"task-field-test-feature-YUYR-task-Dr2K","feature_id":"task-field-test-feature-YUYR","project_id":"task-field-test","name":"Task-with-metadata","goal":"Task with derivable files and libraries","priority":"P3","status":"ready","implementation_steps":["none"],"test_cases":["none"],"derivable_files":["file1.ts","file2.js"],"library_needs":["lodash","axios"],"created_at":"2026-02-01T06:16:08.201203Z","updated_at":"2026-02-01T06:16:08.201203Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{"layer":"project","type":"created","id":"test-diamond","by":"BUDISANTOSO","ts":"2026-02-01T06:00:25.658842Z"}
|
|
2
|
+
{"layer":"feature","type":"created","id":"test-diamond-feature-N3ws","by":"BUDISANTOSO","ts":"2026-02-01T06:00:30.538992Z"}
|
|
3
|
+
{"layer":"task","type":"created","id":"test-diamond-feature-N3ws-task-KjgK","by":"BUDISANTOSO","ts":"2026-02-01T06:00:35.655835Z"}
|
|
4
|
+
{"layer":"task","type":"ready","id":"test-diamond-feature-N3ws-task-KjgK","by":"system","ts":"2026-02-01T06:00:35.655835Z"}
|
|
5
|
+
{"layer":"task","type":"created","id":"test-diamond-feature-N3ws-task-LnAX","by":"BUDISANTOSO","ts":"2026-02-01T06:00:40.360079Z"}
|
|
6
|
+
{"layer":"task","type":"blocked","id":"test-diamond-feature-N3ws-task-LnAX","by":"system","ts":"2026-02-01T06:00:40.360079Z"}
|
|
7
|
+
{"layer":"task","type":"created","id":"test-diamond-feature-N3ws-task-sTwD","by":"BUDISANTOSO","ts":"2026-02-01T06:00:45.703658Z"}
|
|
8
|
+
{"layer":"task","type":"blocked","id":"test-diamond-feature-N3ws-task-sTwD","by":"system","ts":"2026-02-01T06:00:45.703658Z"}
|
|
9
|
+
{"layer":"task","type":"created","id":"test-diamond-feature-N3ws-task-nU5g","by":"BUDISANTOSO","ts":"2026-02-01T06:00:50.467145Z"}
|
|
10
|
+
{"layer":"task","type":"blocked","id":"test-diamond-feature-N3ws-task-nU5g","by":"system","ts":"2026-02-01T06:00:50.467145Z"}
|
|
11
|
+
{"layer":"task","type":"updated","id":"test-diamond-feature-N3ws-task-KjgK","by":"BUDISANTOSO","ts":"2026-02-01T06:01:05.340696Z","changes":["status"]}
|
|
12
|
+
{"layer":"task","type":"ready","id":"test-diamond-feature-N3ws-task-LnAX","by":"system","ts":"2026-02-01T06:01:05.36418Z"}
|
|
13
|
+
{"layer":"task","type":"ready","id":"test-diamond-feature-N3ws-task-sTwD","by":"system","ts":"2026-02-01T06:01:05.36418Z"}
|
|
14
|
+
{"layer":"task","type":"updated","id":"test-diamond-feature-N3ws-task-KjgK","by":"BUDISANTOSO","ts":"2026-02-01T06:01:05.36396Z","changes":["status","dependent_unblocked"]}
|
|
15
|
+
{"layer":"task","type":"updated","id":"test-diamond-feature-N3ws-task-LnAX","by":"BUDISANTOSO","ts":"2026-02-01T06:01:14.685168Z","changes":["status"]}
|
|
16
|
+
{"layer":"task","type":"updated","id":"test-diamond-feature-N3ws-task-LnAX","by":"BUDISANTOSO","ts":"2026-02-01T06:01:14.707833Z","changes":["status"]}
|
|
17
|
+
{"layer":"task","type":"updated","id":"test-diamond-feature-N3ws-task-sTwD","by":"BUDISANTOSO","ts":"2026-02-01T06:01:24.291564Z","changes":["status"]}
|
|
18
|
+
{"layer":"task","type":"ready","id":"test-diamond-feature-N3ws-task-nU5g","by":"system","ts":"2026-02-01T06:01:24.31615Z"}
|
|
19
|
+
{"layer":"task","type":"updated","id":"test-diamond-feature-N3ws-task-sTwD","by":"BUDISANTOSO","ts":"2026-02-01T06:01:24.315882Z","changes":["status","dependent_unblocked"]}
|
|
20
|
+
{"layer":"task","type":"updated","id":"test-diamond-feature-N3ws-task-nU5g","by":"BUDISANTOSO","ts":"2026-02-01T06:01:35.431952Z","changes":["status"]}
|
|
21
|
+
{"layer":"task","type":"updated","id":"test-diamond-feature-N3ws-task-nU5g","by":"BUDISANTOSO","ts":"2026-02-01T06:01:35.457079Z","changes":["status"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"test-diamond-feature-N3ws","project_id":"test-diamond","name":"feature-diamond","goal":"Feature for diamond test","priority":"P3","status":"draft","created_at":"2026-02-01T06:00:30.538992Z","updated_at":"2026-02-01T06:00:30.538992Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "test-diamond",
|
|
3
|
+
"name": "Test Diamond Pattern",
|
|
4
|
+
"goal": "Testing diamond dependency pattern",
|
|
5
|
+
"status": "initial",
|
|
6
|
+
"strict": false,
|
|
7
|
+
"created_at": "2026-02-01T06:00:25.658842Z",
|
|
8
|
+
"updated_at": "2026-02-01T06:00:25.658842Z",
|
|
9
|
+
"created_by": "BUDISANTOSO",
|
|
10
|
+
"updated_by": "BUDISANTOSO"
|
|
11
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "mandor.v1",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"rules": {
|
|
5
|
+
"task": {
|
|
6
|
+
"dependency": "same_project_only",
|
|
7
|
+
"cycle": "disallowed"
|
|
8
|
+
},
|
|
9
|
+
"feature": {
|
|
10
|
+
"dependency": "cross_project_allowed",
|
|
11
|
+
"cycle": "disallowed"
|
|
12
|
+
},
|
|
13
|
+
"issue": {
|
|
14
|
+
"dependency": "same_project_only",
|
|
15
|
+
"cycle": "disallowed"
|
|
16
|
+
},
|
|
17
|
+
"priority": {
|
|
18
|
+
"levels": [
|
|
19
|
+
"P0",
|
|
20
|
+
"P1",
|
|
21
|
+
"P2",
|
|
22
|
+
"P3",
|
|
23
|
+
"P4",
|
|
24
|
+
"P5"
|
|
25
|
+
],
|
|
26
|
+
"default": "P3"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
{"id":"test-diamond-feature-N3ws-task-KjgK","feature_id":"test-diamond-feature-N3ws","project_id":"test-diamond","name":"A","goal":"Task A","priority":"P3","status":"done","implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:00:35.655835Z","updated_at":"2026-02-01T06:01:05.36396Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
2
|
+
{"id":"test-diamond-feature-N3ws-task-LnAX","feature_id":"test-diamond-feature-N3ws","project_id":"test-diamond","name":"B","goal":"Task B","priority":"P3","status":"done","depends_on":["test-diamond-feature-N3ws-task-KjgK"],"implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:00:40.360079Z","updated_at":"2026-02-01T06:01:14.707833Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
3
|
+
{"id":"test-diamond-feature-N3ws-task-sTwD","feature_id":"test-diamond-feature-N3ws","project_id":"test-diamond","name":"C","goal":"Task C","priority":"P3","status":"done","depends_on":["test-diamond-feature-N3ws-task-KjgK"],"implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:00:45.703658Z","updated_at":"2026-02-01T06:01:24.315882Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
4
|
+
{"id":"test-diamond-feature-N3ws-task-nU5g","feature_id":"test-diamond-feature-N3ws","project_id":"test-diamond","name":"D","goal":"Task D","priority":"P3","status":"done","depends_on":["test-diamond-feature-N3ws-task-LnAX","test-diamond-feature-N3ws-task-sTwD"],"implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T06:00:50.467145Z","updated_at":"2026-02-01T06:01:35.457079Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{"layer":"project","type":"created","id":"test-fanin","by":"BUDISANTOSO","ts":"2026-02-01T05:58:00.409806Z"}
|
|
2
|
+
{"layer":"feature","type":"created","id":"test-fanin-feature-2elY","by":"BUDISANTOSO","ts":"2026-02-01T05:58:05.36178Z"}
|
|
3
|
+
{"layer":"task","type":"created","id":"test-fanin-feature-2elY-task-1k9F","by":"BUDISANTOSO","ts":"2026-02-01T05:58:10.043007Z"}
|
|
4
|
+
{"layer":"task","type":"ready","id":"test-fanin-feature-2elY-task-1k9F","by":"system","ts":"2026-02-01T05:58:10.043007Z"}
|
|
5
|
+
{"layer":"task","type":"created","id":"test-fanin-feature-2elY-task-sNR6","by":"BUDISANTOSO","ts":"2026-02-01T05:58:15.880022Z"}
|
|
6
|
+
{"layer":"task","type":"ready","id":"test-fanin-feature-2elY-task-sNR6","by":"system","ts":"2026-02-01T05:58:15.880022Z"}
|
|
7
|
+
{"layer":"task","type":"created","id":"test-fanin-feature-2elY-task-BeRC","by":"BUDISANTOSO","ts":"2026-02-01T05:58:20.574235Z"}
|
|
8
|
+
{"layer":"task","type":"ready","id":"test-fanin-feature-2elY-task-BeRC","by":"system","ts":"2026-02-01T05:58:20.574235Z"}
|
|
9
|
+
{"layer":"task","type":"created","id":"test-fanin-feature-2elY-task-ZfWu","by":"BUDISANTOSO","ts":"2026-02-01T05:58:27.331136Z"}
|
|
10
|
+
{"layer":"task","type":"blocked","id":"test-fanin-feature-2elY-task-ZfWu","by":"system","ts":"2026-02-01T05:58:27.331136Z"}
|
|
11
|
+
{"layer":"task","type":"updated","id":"test-fanin-feature-2elY-task-1k9F","by":"BUDISANTOSO","ts":"2026-02-01T05:58:37.036412Z","changes":["status"]}
|
|
12
|
+
{"layer":"task","type":"updated","id":"test-fanin-feature-2elY-task-1k9F","by":"BUDISANTOSO","ts":"2026-02-01T05:58:37.060027Z","changes":["status"]}
|
|
13
|
+
{"layer":"task","type":"updated","id":"test-fanin-feature-2elY-task-sNR6","by":"BUDISANTOSO","ts":"2026-02-01T05:58:47.618653Z","changes":["status"]}
|
|
14
|
+
{"layer":"task","type":"updated","id":"test-fanin-feature-2elY-task-sNR6","by":"BUDISANTOSO","ts":"2026-02-01T05:58:47.642995Z","changes":["status"]}
|
|
15
|
+
{"layer":"task","type":"updated","id":"test-fanin-feature-2elY-task-BeRC","by":"BUDISANTOSO","ts":"2026-02-01T05:58:57.092866Z","changes":["status"]}
|
|
16
|
+
{"layer":"task","type":"ready","id":"test-fanin-feature-2elY-task-ZfWu","by":"system","ts":"2026-02-01T05:58:57.120372Z"}
|
|
17
|
+
{"layer":"task","type":"updated","id":"test-fanin-feature-2elY-task-BeRC","by":"BUDISANTOSO","ts":"2026-02-01T05:58:57.120048Z","changes":["status","dependent_unblocked"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"test-fanin-feature-2elY","project_id":"test-fanin","name":"feature-fanin","goal":"Feature for fan-in test","priority":"P3","status":"draft","created_at":"2026-02-01T05:58:05.36178Z","updated_at":"2026-02-01T05:58:05.36178Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "test-fanin",
|
|
3
|
+
"name": "Test Fan-In Pattern",
|
|
4
|
+
"goal": "Testing fan-in dependency pattern",
|
|
5
|
+
"status": "initial",
|
|
6
|
+
"strict": false,
|
|
7
|
+
"created_at": "2026-02-01T05:58:00.409806Z",
|
|
8
|
+
"updated_at": "2026-02-01T05:58:00.409806Z",
|
|
9
|
+
"created_by": "BUDISANTOSO",
|
|
10
|
+
"updated_by": "BUDISANTOSO"
|
|
11
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "mandor.v1",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"rules": {
|
|
5
|
+
"task": {
|
|
6
|
+
"dependency": "same_project_only",
|
|
7
|
+
"cycle": "disallowed"
|
|
8
|
+
},
|
|
9
|
+
"feature": {
|
|
10
|
+
"dependency": "cross_project_allowed",
|
|
11
|
+
"cycle": "disallowed"
|
|
12
|
+
},
|
|
13
|
+
"issue": {
|
|
14
|
+
"dependency": "same_project_only",
|
|
15
|
+
"cycle": "disallowed"
|
|
16
|
+
},
|
|
17
|
+
"priority": {
|
|
18
|
+
"levels": [
|
|
19
|
+
"P0",
|
|
20
|
+
"P1",
|
|
21
|
+
"P2",
|
|
22
|
+
"P3",
|
|
23
|
+
"P4",
|
|
24
|
+
"P5"
|
|
25
|
+
],
|
|
26
|
+
"default": "P3"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
{"id":"test-fanin-feature-2elY-task-ZfWu","feature_id":"test-fanin-feature-2elY","project_id":"test-fanin","name":"M","goal":"Merged task depending on A1, A2, A3","priority":"P3","status":"ready","depends_on":["test-fanin-feature-2elY-task-1k9F","test-fanin-feature-2elY-task-sNR6","test-fanin-feature-2elY-task-BeRC"],"implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T05:58:27.331136Z","updated_at":"2026-02-01T05:58:57.120372Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
2
|
+
{"id":"test-fanin-feature-2elY-task-1k9F","feature_id":"test-fanin-feature-2elY","project_id":"test-fanin","name":"A1","goal":"First independent task","priority":"P3","status":"done","implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T05:58:10.043007Z","updated_at":"2026-02-01T05:58:37.060027Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
3
|
+
{"id":"test-fanin-feature-2elY-task-sNR6","feature_id":"test-fanin-feature-2elY","project_id":"test-fanin","name":"A2","goal":"Second independent task","priority":"P3","status":"done","implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T05:58:15.880022Z","updated_at":"2026-02-01T05:58:47.642995Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
4
|
+
{"id":"test-fanin-feature-2elY-task-BeRC","feature_id":"test-fanin-feature-2elY","project_id":"test-fanin","name":"A3","goal":"Third independent task","priority":"P3","status":"done","implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T05:58:20.574235Z","updated_at":"2026-02-01T05:58:57.120048Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{"layer":"project","type":"created","id":"test-fanout","by":"BUDISANTOSO","ts":"2026-02-01T05:59:24.715847Z"}
|
|
2
|
+
{"layer":"feature","type":"created","id":"test-fanout-feature-oYIl","by":"BUDISANTOSO","ts":"2026-02-01T05:59:29.020934Z"}
|
|
3
|
+
{"layer":"task","type":"created","id":"test-fanout-feature-oYIl-task-lwhL","by":"BUDISANTOSO","ts":"2026-02-01T05:59:33.866969Z"}
|
|
4
|
+
{"layer":"task","type":"ready","id":"test-fanout-feature-oYIl-task-lwhL","by":"system","ts":"2026-02-01T05:59:33.866969Z"}
|
|
5
|
+
{"layer":"task","type":"created","id":"test-fanout-feature-oYIl-task-KEPz","by":"BUDISANTOSO","ts":"2026-02-01T05:59:38.912543Z"}
|
|
6
|
+
{"layer":"task","type":"blocked","id":"test-fanout-feature-oYIl-task-KEPz","by":"system","ts":"2026-02-01T05:59:38.912543Z"}
|
|
7
|
+
{"layer":"task","type":"created","id":"test-fanout-feature-oYIl-task-YhBZ","by":"BUDISANTOSO","ts":"2026-02-01T05:59:46.04695Z"}
|
|
8
|
+
{"layer":"task","type":"blocked","id":"test-fanout-feature-oYIl-task-YhBZ","by":"system","ts":"2026-02-01T05:59:46.04695Z"}
|
|
9
|
+
{"layer":"task","type":"created","id":"test-fanout-feature-oYIl-task-VVny","by":"BUDISANTOSO","ts":"2026-02-01T05:59:46.071694Z"}
|
|
10
|
+
{"layer":"task","type":"blocked","id":"test-fanout-feature-oYIl-task-VVny","by":"system","ts":"2026-02-01T05:59:46.071694Z"}
|
|
11
|
+
{"layer":"task","type":"created","id":"test-fanout-feature-oYIl-task-JX8a","by":"BUDISANTOSO","ts":"2026-02-01T05:59:46.090369Z"}
|
|
12
|
+
{"layer":"task","type":"blocked","id":"test-fanout-feature-oYIl-task-JX8a","by":"system","ts":"2026-02-01T05:59:46.090369Z"}
|
|
13
|
+
{"layer":"task","type":"updated","id":"test-fanout-feature-oYIl-task-lwhL","by":"BUDISANTOSO","ts":"2026-02-01T05:59:55.6459Z","changes":["status"]}
|
|
14
|
+
{"layer":"task","type":"ready","id":"test-fanout-feature-oYIl-task-KEPz","by":"system","ts":"2026-02-01T05:59:55.664229Z"}
|
|
15
|
+
{"layer":"task","type":"ready","id":"test-fanout-feature-oYIl-task-YhBZ","by":"system","ts":"2026-02-01T05:59:55.664229Z"}
|
|
16
|
+
{"layer":"task","type":"ready","id":"test-fanout-feature-oYIl-task-VVny","by":"system","ts":"2026-02-01T05:59:55.664229Z"}
|
|
17
|
+
{"layer":"task","type":"ready","id":"test-fanout-feature-oYIl-task-JX8a","by":"system","ts":"2026-02-01T05:59:55.664229Z"}
|
|
18
|
+
{"layer":"task","type":"updated","id":"test-fanout-feature-oYIl-task-lwhL","by":"BUDISANTOSO","ts":"2026-02-01T05:59:55.664018Z","changes":["status","dependent_unblocked"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"test-fanout-feature-oYIl","project_id":"test-fanout","name":"feature-fanout","goal":"Feature for fan-out test","priority":"P3","status":"draft","created_at":"2026-02-01T05:59:29.020934Z","updated_at":"2026-02-01T05:59:29.020934Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "test-fanout",
|
|
3
|
+
"name": "Test Fan-Out Pattern",
|
|
4
|
+
"goal": "Testing fan-out dependency pattern",
|
|
5
|
+
"status": "initial",
|
|
6
|
+
"strict": false,
|
|
7
|
+
"created_at": "2026-02-01T05:59:24.715847Z",
|
|
8
|
+
"updated_at": "2026-02-01T05:59:24.715847Z",
|
|
9
|
+
"created_by": "BUDISANTOSO",
|
|
10
|
+
"updated_by": "BUDISANTOSO"
|
|
11
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "mandor.v1",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"rules": {
|
|
5
|
+
"task": {
|
|
6
|
+
"dependency": "same_project_only",
|
|
7
|
+
"cycle": "disallowed"
|
|
8
|
+
},
|
|
9
|
+
"feature": {
|
|
10
|
+
"dependency": "cross_project_allowed",
|
|
11
|
+
"cycle": "disallowed"
|
|
12
|
+
},
|
|
13
|
+
"issue": {
|
|
14
|
+
"dependency": "same_project_only",
|
|
15
|
+
"cycle": "disallowed"
|
|
16
|
+
},
|
|
17
|
+
"priority": {
|
|
18
|
+
"levels": [
|
|
19
|
+
"P0",
|
|
20
|
+
"P1",
|
|
21
|
+
"P2",
|
|
22
|
+
"P3",
|
|
23
|
+
"P4",
|
|
24
|
+
"P5"
|
|
25
|
+
],
|
|
26
|
+
"default": "P3"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{"id":"test-fanout-feature-oYIl-task-KEPz","feature_id":"test-fanout-feature-oYIl","project_id":"test-fanout","name":"D1","goal":"Dependent 1","priority":"P3","status":"ready","depends_on":["test-fanout-feature-oYIl-task-lwhL"],"implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T05:59:38.912543Z","updated_at":"2026-02-01T05:59:55.664229Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
2
|
+
{"id":"test-fanout-feature-oYIl-task-YhBZ","feature_id":"test-fanout-feature-oYIl","project_id":"test-fanout","name":"D2","goal":"Dependent 2","priority":"P3","status":"ready","depends_on":["test-fanout-feature-oYIl-task-lwhL"],"implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T05:59:46.04695Z","updated_at":"2026-02-01T05:59:55.664229Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
3
|
+
{"id":"test-fanout-feature-oYIl-task-VVny","feature_id":"test-fanout-feature-oYIl","project_id":"test-fanout","name":"D3","goal":"Dependent 3","priority":"P3","status":"ready","depends_on":["test-fanout-feature-oYIl-task-lwhL"],"implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T05:59:46.071694Z","updated_at":"2026-02-01T05:59:55.664229Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
4
|
+
{"id":"test-fanout-feature-oYIl-task-JX8a","feature_id":"test-fanout-feature-oYIl","project_id":"test-fanout","name":"D4","goal":"Dependent 4","priority":"P3","status":"ready","depends_on":["test-fanout-feature-oYIl-task-lwhL"],"implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T05:59:46.090369Z","updated_at":"2026-02-01T05:59:55.664229Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|
|
5
|
+
{"id":"test-fanout-feature-oYIl-task-lwhL","feature_id":"test-fanout-feature-oYIl","project_id":"test-fanout","name":"P","goal":"Parent task","priority":"P3","status":"done","implementation_steps":["none"],"test_cases":["none"],"derivable_files":["none"],"library_needs":["none"],"created_at":"2026-02-01T05:59:33.866969Z","updated_at":"2026-02-01T05:59:55.664018Z","created_by":"BUDISANTOSO","updated_by":"BUDISANTOSO"}
|