@azure-id/orc 2.0.2 → 2.1.1

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.
Files changed (129) hide show
  1. package/CHANGELOG.md +455 -0
  2. package/README-id.md +52 -23
  3. package/README.md +36 -20
  4. package/bin/build-agents.js +205 -206
  5. package/bin/clear-logs.js +620 -0
  6. package/bin/cli.js +47417 -46420
  7. package/bin/fix.js +459 -0
  8. package/bin/gotcha.js +288 -8
  9. package/bin/habit.js +1538 -1453
  10. package/bin/mockrun-catalog.js +3 -0
  11. package/bin/onboarding-content.js +2 -1
  12. package/bin/pricing.json +28 -21
  13. package/bin/trace-write.js +869 -657
  14. package/bin/verify-contracts.js +5552 -5471
  15. package/bin/verify-package.js +716 -705
  16. package/bin/webui/api.js +125 -6
  17. package/bin/webui/css/panels/hookui.css +79 -0
  18. package/bin/webui/fixtures/behaviour.js +30 -0
  19. package/bin/webui/fixtures/extra.js +2036 -2036
  20. package/bin/webui/fixtures/flow.js +81 -81
  21. package/bin/webui/fixtures/hookui.js +506 -431
  22. package/bin/webui/fixtures/index.js +32 -3
  23. package/bin/webui/fixtures/knowledge.js +2 -2
  24. package/bin/webui/fixtures/maintenance.js +123 -42
  25. package/bin/webui/fixtures/rules.js +1007 -1002
  26. package/bin/webui/fixtures/settings.js +6 -7
  27. package/bin/webui/fixtures/stats.js +9 -6
  28. package/bin/webui/fixtures/wait.js +98 -97
  29. package/bin/webui/i18n/en/behaviour.json +13 -0
  30. package/bin/webui/i18n/en/hookui.json +290 -194
  31. package/bin/webui/i18n/en/maintenance.json +71 -52
  32. package/bin/webui/i18n/en/settings.json +60 -60
  33. package/bin/webui/i18n/id/behaviour.json +13 -0
  34. package/bin/webui/i18n/id/hookui.json +290 -194
  35. package/bin/webui/i18n/id/maintenance.json +71 -52
  36. package/bin/webui/i18n/id/settings.json +60 -60
  37. package/bin/webui/js/05-banners.js +181 -172
  38. package/bin/webui/js/06-edit.js +193 -183
  39. package/bin/webui/js/panels/behaviour.js +77 -12
  40. package/bin/webui/js/panels/hookui.js +2196 -1691
  41. package/bin/webui/js/panels/maintenance.js +336 -235
  42. package/bin/webui/js/panels/settings.js +726 -719
  43. package/mock-run/INDEX.md +1 -0
  44. package/mock-run/a-normal-day.md +2 -2
  45. package/mock-run/extra-slots.md +177 -177
  46. package/mock-run/habits.md +1 -1
  47. package/mock-run/orc-aftermath.md +392 -392
  48. package/mock-run/orc-budget.md +29 -33
  49. package/mock-run/orc-cli.md +200 -200
  50. package/mock-run/orc-explain.md +86 -86
  51. package/mock-run/orc-extra.md +389 -392
  52. package/mock-run/orc-fast.md +2 -2
  53. package/mock-run/orc-fix.md +87 -0
  54. package/mock-run/orc-pattern.md +112 -112
  55. package/mock-run/orc-quick.md +146 -146
  56. package/mock-run/orc.md +4 -4
  57. package/package.json +1 -1
  58. package/templates/agents/MODEL-MAPPING.md +176 -173
  59. package/templates/agents/orc-analyze-mini-sonnet-5-high.md +2 -2
  60. package/templates/agents/{orc-claude-writer-opus-5-med.md → orc-claude-writer-opus-5-low.md} +4 -4
  61. package/templates/agents/orc-executor-haiku-4-5.md +1 -1
  62. package/templates/agents/orc-executor-opus-5-low.md +1 -1
  63. package/templates/agents/orc-executor-sonnet-4-6-high.md +1 -1
  64. package/templates/agents/orc-executor-sonnet-4-6-med.md +1 -1
  65. package/templates/agents/orc-executor-sonnet-5-high.md +2 -2
  66. package/templates/agents/orc-executor-sonnet-5-low.md +155 -0
  67. package/templates/agents/orc-executor-sonnet-5-med.md +155 -0
  68. package/templates/agents/orc-pattern-codifier-sonnet-5-high.md +2 -2
  69. package/templates/agents/orc-planner-mini-sonnet-5-high.md +2 -2
  70. package/templates/agents/{orc-recon-sonnet-4-6-med.md → orc-recon-sonnet-5-med.md} +4 -4
  71. package/templates/agents/orc-retro-sonnet-5-high.md +2 -2
  72. package/templates/agents/{orc-reviewer-opus-5-med.md → orc-reviewer-opus-5-low.md} +4 -4
  73. package/templates/agents/{orc-wiki-scanner-opus-5-med.md → orc-wiki-scanner-opus-5-low.md} +3 -3
  74. package/templates/agents/orc-wiki-scanner-sonnet-5-high.md +2 -2
  75. package/templates/commands/orc-fast.md +10 -10
  76. package/templates/commands/orc-fix.md +18 -0
  77. package/templates/commands/orc-wiki.md +64 -64
  78. package/templates/hooks/README.md +75 -7
  79. package/templates/hooks/orc-session-hook.js +78 -3
  80. package/templates/hooks/orc-statusline-render.js +317 -23
  81. package/templates/hooks/orc-statusline.js +162 -49
  82. package/templates/hooks/orc-subagent-line.js +23 -5
  83. package/templates/hooks/orc-weather-fetch.js +123 -0
  84. package/templates/skills/_shared/extra-dispatch.md +1331 -1331
  85. package/templates/skills/_shared/gotchas.md +27 -7
  86. package/templates/skills/_shared/habits.md +2 -2
  87. package/templates/skills/_shared/opus5-only.md +137 -137
  88. package/templates/skills/_shared/phases/review.md +2 -2
  89. package/templates/skills/_shared/phases/trace-verbs.md +17 -3
  90. package/templates/skills/_shared/phases/trace.md +136 -136
  91. package/templates/skills/_shared/review-slice.md +28 -1
  92. package/templates/skills/_shared/wait.md +1 -0
  93. package/templates/skills/orc/README.md +2 -2
  94. package/templates/skills/orc/SKILL.md +227 -227
  95. package/templates/skills/orc/config.md +25 -27
  96. package/templates/skills/orc/examples/full-run-mock.md +74 -73
  97. package/templates/skills/orc/references/effort-and-mode.md +222 -222
  98. package/templates/skills/orc/references/preflight-report.md +3 -3
  99. package/templates/skills/orc/references/ultra-mode.md +1 -1
  100. package/templates/skills/orc/schemas/checkpoint.md +122 -122
  101. package/templates/skills/orc/subskills/orc-review-verify/SKILL.md +3 -3
  102. package/templates/skills/orc/subskills/orc-review-verify/core.md +1 -1
  103. package/templates/skills/orc-analyze/SKILL.md +4 -2
  104. package/templates/skills/orc-claude/SKILL.md +14 -14
  105. package/templates/skills/orc-claude/examples/claude-run-mock.md +65 -65
  106. package/templates/skills/orc-diy/SKILL.md +5 -5
  107. package/templates/skills/orc-fast/SKILL.md +210 -208
  108. package/templates/skills/orc-fix/SKILL.md +110 -0
  109. package/templates/skills/orc-grill/SKILL.md +232 -232
  110. package/templates/skills/orc-grill/references/grill-doc.md +1 -1
  111. package/templates/skills/orc-mini/SKILL.md +4 -4
  112. package/templates/skills/orc-mini/examples/mini-run-mock.md +4 -2
  113. package/templates/skills/orc-quick/README.md +536 -536
  114. package/templates/skills/orc-quick/SKILL.md +2 -2
  115. package/templates/skills/orc-quick/references/context-doc.md +145 -145
  116. package/templates/skills/orc-quick/references/dispatch-gate.md +220 -219
  117. package/templates/skills/orc-quick/references/gh-mode.md +4 -2
  118. package/templates/skills/orc-retro/SKILL.md +1 -1
  119. package/templates/skills/orc-retro/examples/retro-mock.md +16 -16
  120. package/templates/skills/orc-wiki/README.md +325 -325
  121. package/templates/skills/orc-wiki/SKILL.md +195 -195
  122. package/templates/skills/orc-wiki/examples/wiki-run-mock.md +37 -37
  123. package/templates/skills/orc-wiki/references/extra.md +2 -2
  124. package/templates/skills/orc-wiki/references/partial-refresh.md +276 -271
  125. package/templates/skills/orc-wiki/references/phases/phase-0.md +1 -1
  126. package/templates/skills/orc-wiki/references/phases/phase-2.md +3 -3
  127. package/templates/skills/orc-wiki/references/phases/phase-3c.md +3 -2
  128. package/templates/agents/orc-claude-writer-opus-4-8-high.md +0 -48
  129. package/templates/agents/orc-wiki-scanner-opus-4-8-high.md +0 -74
@@ -1,52 +1,71 @@
1
- {
2
- "maintenance.title": "Maintenance",
3
- "maintenance.sub": "update · upgrade · doctor --fix. Preview first, approve, then it runs — never automatically.",
4
- "maintenance.banner": "Nothing on this panel runs on its own. Each action shows the CLI's own read-only preview first, and the exact command it will run.",
5
- "maintenance.network": "Reaches the network and replaces the installed package.",
6
- "maintenance.advanced": "Advanced",
7
- "maintenance.advancedNote": "Everything above targets THIS project. What is below reaches outside it, so it is boxed off and previewed the same way.",
8
- "maintenance.globalNote": "Targets the GLOBAL install in ~/.claude, not this project.",
9
- "maintenance.globalWarn": "This writes to the GLOBAL install in ~/.claude — every project on this machine sees the result. The preview below was read from that same global install, not from this project.",
10
- "maintenance.checking": "checking for a newer release…",
11
- "maintenance.checkAgain": "Check again",
12
- "maintenance.checkFailed": "check failed.",
13
- "maintenance.couldNotCheck": "Could not check.",
14
- "maintenance.preview": "Preview…",
15
- "maintenance.lastRun": "Last run",
16
- "maintenance.nothingRun": "Nothing has been run from this panel yet.",
17
- "maintenance.noOutput": "(no output yet)",
18
- "maintenance.running": "running",
19
- "maintenance.failed": "failed",
20
- "maintenance.previewTitle": "Preview — {command}",
21
- "maintenance.previewFrom": "Preview came from: {command} (read-only).",
22
- "maintenance.waitingRuns": "{n} run(s) are still waiting.",
23
- "maintenance.waitingBody": "Updating changes the skills those runs will resume into: {slugs}",
24
- "maintenance.waitingAck": "I understand — continue anyway",
25
- "maintenance.dirtyTree": "The working tree has uncommitted changes. `orc upgrade` replaces the package while they are still there.",
26
- "maintenance.installed": "installed",
27
- "maintenance.available": "available",
28
- "maintenance.availableUnknown": "could not check (offline?)",
29
- "maintenance.source": "source",
30
- "maintenance.checkedAt": "version read from",
31
- "maintenance.updateAvailable": "update available",
32
- "maintenance.yes": "yes",
33
- "maintenance.no": "no",
34
- "maintenance.upgradeNote": "This is what would be installed. `Check only` re-reads the version without changing anything.",
35
- "maintenance.installedPayload": "installed payload",
36
- "maintenance.thisCli": "this cli",
37
- "maintenance.findings": "findings",
38
- "maintenance.healthy": "orc doctor reports a healthy install — this would be a no-op re-copy.",
39
- "maintenance.wouldDelete": "These {n} file(s) would be DELETED:",
40
- "maintenance.wouldDeleteNone": "No orphan files were detected — nothing would be deleted.",
41
- "maintenance.checkOnly": "Check only",
42
- "maintenance.checkOnlyDone": "Version check done — see the panel above. Nothing was changed.",
43
- "maintenance.applyPrune": "Delete and update",
44
- "maintenance.applyUpgrade": "Upgrade now",
45
- "maintenance.apply": "Apply",
46
- "maintenance.started": "Running: {command}",
47
- "maintenance.willRestart": "This changes the code the panel runs. When it finishes, the panel starts again on the same address and this page reloads.",
48
- "maintenance.restarting": "Done. Starting the panel again on the same address, then reloading this page.",
49
- "maintenance.restartFailed": "The panel could not start again on its own. It is still working, but it still runs the old code. Run these two commands:",
50
- "maintenance.restartTimeout": "The panel did not answer again in time.",
51
- "maintenance.startFail": "Could not start it."
52
- }
1
+ {
2
+ "maintenance.title": "Maintenance",
3
+ "maintenance.sub": "update · upgrade · doctor --fix · clear logs. Preview first, approve, then it runs — never automatically.",
4
+ "maintenance.banner": "Nothing on this panel runs on its own. Each action shows the CLI's own read-only preview first, and the exact command it will run.",
5
+ "maintenance.network": "Reaches the network and replaces the installed package.",
6
+ "maintenance.advanced": "Advanced",
7
+ "maintenance.advancedNote": "Everything above targets THIS project. What is below reaches outside it, so it is boxed off and previewed the same way.",
8
+ "maintenance.globalNote": "Targets the GLOBAL install in ~/.claude, not this project.",
9
+ "maintenance.globalWarn": "This writes to the GLOBAL install in ~/.claude — every project on this machine sees the result. The preview below was read from that same global install, not from this project.",
10
+ "maintenance.checking": "checking for a newer release…",
11
+ "maintenance.checkAgain": "Check again",
12
+ "maintenance.checkFailed": "check failed.",
13
+ "maintenance.couldNotCheck": "Could not check.",
14
+ "maintenance.preview": "Preview…",
15
+ "maintenance.lastRun": "Last run",
16
+ "maintenance.nothingRun": "Nothing has been run from this panel yet.",
17
+ "maintenance.noOutput": "(no output yet)",
18
+ "maintenance.running": "running",
19
+ "maintenance.failed": "failed",
20
+ "maintenance.previewTitle": "Preview — {command}",
21
+ "maintenance.previewFrom": "Preview came from: {command} (read-only).",
22
+ "maintenance.waitingRuns": "{n} run(s) are still waiting.",
23
+ "maintenance.waitingBody": "Updating changes the skills those runs will resume into: {slugs}",
24
+ "maintenance.waitingAck": "I understand — continue anyway",
25
+ "maintenance.dirtyTree": "The working tree has uncommitted changes. `orc upgrade` replaces the package while they are still there.",
26
+ "maintenance.installed": "installed",
27
+ "maintenance.available": "available",
28
+ "maintenance.availableUnknown": "could not check (offline?)",
29
+ "maintenance.source": "source",
30
+ "maintenance.checkedAt": "version read from",
31
+ "maintenance.updateAvailable": "update available",
32
+ "maintenance.yes": "yes",
33
+ "maintenance.no": "no",
34
+ "maintenance.upgradeNote": "This is what would be installed. `Check only` re-reads the version without changing anything.",
35
+ "maintenance.installedPayload": "installed payload",
36
+ "maintenance.thisCli": "this cli",
37
+ "maintenance.findings": "findings",
38
+ "maintenance.healthy": "orc doctor reports a healthy install — this would be a no-op re-copy.",
39
+ "maintenance.wouldDelete": "These {n} file(s) would be DELETED:",
40
+ "maintenance.wouldDeleteNone": "No orphan files were detected — nothing would be deleted.",
41
+ "maintenance.checkOnly": "Check only",
42
+ "maintenance.checkOnlyDone": "Version check done — see the panel above. Nothing was changed.",
43
+ "maintenance.applyPrune": "Delete and update",
44
+ "maintenance.applyUpgrade": "Upgrade now",
45
+ "maintenance.apply": "Apply",
46
+ "maintenance.started": "Running: {command}",
47
+ "maintenance.willRestart": "This changes the code the panel runs. When it finishes, the panel starts again on the same address and this page reloads.",
48
+ "maintenance.restarting": "Done. Starting the panel again on the same address, then reloading this page.",
49
+ "maintenance.restartFailed": "The panel could not start again on its own. It is still working, but it still runs the old code. Run these two commands:",
50
+ "maintenance.restartTimeout": "The panel did not answer again in time.",
51
+ "maintenance.startFail": "Could not start it.",
52
+ "maintenance.clearLogs.olderThan": "Older than {days} (Settings ▸ log retention).",
53
+ "maintenance.clearLogs.days": "{n} days",
54
+ "maintenance.clearLogs.lastSweep": "Last automatic sweep: {date}, {files} files.",
55
+ "maintenance.clearLogs.noSweepYet": "The automatic sweep is on. It has not run yet.",
56
+ "maintenance.clearLogs.autoOff": "The automatic sweep is off (log_retention_auto).",
57
+ "maintenance.clearLogs.pruned": "orc stats still counts {n} pruned runs.",
58
+ "maintenance.clearLogs.cutoff": "cutoff",
59
+ "maintenance.clearLogs.totals": "would delete",
60
+ "maintenance.clearLogs.totalsValue": "{units} units · {files} files · {bytes} bytes",
61
+ "maintenance.clearLogs.none": "Nothing is old enough to delete.",
62
+ "maintenance.clearLogs.colPath": "files",
63
+ "maintenance.clearLogs.colKind": "kind",
64
+ "maintenance.clearLogs.colLast": "last activity",
65
+ "maintenance.clearLogs.colBytes": "bytes",
66
+ "maintenance.clearLogs.kept": "Kept: {n} — open to see why",
67
+ "maintenance.clearLogs.defaultDir": "The old default folder {path} still holds {files} files ({bytes} bytes). No reader sees it. To clear it with the same rules, run `orc clear logs --include-default-dir` in a terminal.",
68
+ "maintenance.clearLogs.defaultIncluded": "The old default folder {path} is included ({files} files, {bytes} bytes).",
69
+ "maintenance.clearLogs.apply": "Delete old logs",
70
+ "maintenance.clearLogs.waitingBody": "A waiting run is never deleted. These runs stay: {slugs}"
71
+ }
@@ -1,60 +1,60 @@
1
- {
2
- "settings.title": "Settings",
3
- "settings.sub": "Every key `orc config` knows. Each change shells the real command, so the CLI's validators decide.",
4
- "settings.profiles": "Profiles",
5
- "settings.recommend": "Recommend a profile",
6
- "settings.filter": "Filter keys… (press / )",
7
- "settings.filterAria": "Filter settings by key or description",
8
- "settings.changedOnly": "Changed only ({n})",
9
- "settings.changedTitle": "Show only keys whose value differs from the default.",
10
- "settings.changedNone": "Nothing is overridden yet — every key is at its default.",
11
- "settings.collapseAll": "Collapse all",
12
- "settings.expandAll": "Expand all",
13
- "settings.matches": "{n} match",
14
- "settings.matchesPlural": "{n} matches",
15
- "settings.keys": "{n} key",
16
- "settings.keysPlural": "{n} keys",
17
- "settings.ofTotal": "{n} of {total}",
18
- "settings.readFail": "Could not read the config.",
19
- "settings.file.title": "Override file",
20
- "settings.file.file": "file",
21
- "settings.file.state": "state",
22
- "settings.file.exists": "exists — only changed keys are written here",
23
- "settings.file.absent": "not created yet (every key is at its default)",
24
- "settings.file.traceNote": "Behavior-trace logging is permanently ON and is not configurable. Every run writes a trace; only its folder (log_dir) is a setting.",
25
- "settings.tier.common": "Common",
26
- "settings.tier.advanced": "Advanced",
27
- "settings.tierDesc.common": "The keys most runs actually touch. If you change one thing, it is probably here.",
28
- "settings.tierDesc.advanced": "Everything else ORC knows. The defaults are deliberate; change one when you have a reason for it.",
29
- "settings.inert": "inert",
30
- "settings.shadowed": "shadowed",
31
- "settings.handEdited.title": "Hand-edited keys",
32
- "settings.handEdited.note": "These are not in the config registry, so `orc config set` refuses them and this panel will not write them. rubric_bands_override is the designed case: it is hand-written by intent. Edit the YAML file directly.",
33
- "settings.handEdited.readonly": "read-only here — hand-edit orc.config.yaml",
34
- "settings.ladder.title": "Score → model ladder",
35
- "settings.ladder.opus5": "opus5_only is ON — executors use the fixed 2-band effort ladder. It outranks the default table and rubric_bands_override.",
36
- "settings.ladder.override": "A hand-written rubric_bands_override is in the file. It replaces the default table (and is itself outranked by opus5_only).",
37
- "settings.ladder.default": "The default 6-band table. Tables resolve highest-wins: opus5_only > rubric_bands_override > this one.",
38
- "settings.ladder.note": "Read-only — a diagram, not an editor. This comes from the CLI's own table, so the panel adds no extra copy of it.",
39
- "profiles.title": "Config profiles",
40
- "profiles.note": "A profile writes only existing, validated keys — nothing it sets is something you could not set yourself.",
41
- "profiles.apply": "Apply",
42
- "profiles.wouldChange": "would change: {list}",
43
- "profiles.noChange": "this repo is already on that profile — nothing would change",
44
- "recommend.title": "Recommended profile",
45
- "recommend.note": "Read-only: this looked at the repo and suggests one profile. Nothing was changed.",
46
- "recommend.applyIt": "Apply {name}",
47
- "settings.retired.title": "Retired settings",
48
- "settings.retired.note": "These keys were removed from ORC. The lines are still in your config file. ORC does not read them and does not change them. You can delete the lines when you want.",
49
- "settings.retired.badge": "not read",
50
- "settings.retired.readonly": "Removed. ORC no longer reads this key.",
51
- "settings.retired.removedIn": "Removed in v",
52
- "settings.ranks.title": "Who decides what",
53
- "settings.ranks.note": "Some settings answer the same question. Read a family top-down and stop at the first rank that resolves. This is what your config file did, not what it could do.",
54
- "settings.ranks.none": "No contested families — every setting here answers a question of its own.",
55
- "settings.ranks.answeredBy": "Answered at {prio} by {key}.",
56
- "settings.ranks.answeredByDefault": "Answered at {prio} by the shipped default — nothing above it resolved.",
57
- "settings.ranks.legend": "States:",
58
- "settings.lanes.label": "Read by:",
59
- "settings.lanes.none": "no lane — the orc extra bridge reads it"
60
- }
1
+ {
2
+ "settings.title": "Settings",
3
+ "settings.sub": "Every key `orc config` knows. Each change shells the real command, so the CLI's validators decide.",
4
+ "settings.profiles": "Profiles",
5
+ "settings.recommend": "Recommend a profile",
6
+ "settings.filter": "Filter keys… (press / )",
7
+ "settings.filterAria": "Filter settings by key or description",
8
+ "settings.changedOnly": "Changed only ({n})",
9
+ "settings.changedTitle": "Show only keys whose value differs from the default.",
10
+ "settings.changedNone": "Nothing is overridden yet — every key is at its default.",
11
+ "settings.collapseAll": "Collapse all",
12
+ "settings.expandAll": "Expand all",
13
+ "settings.matches": "{n} match",
14
+ "settings.matchesPlural": "{n} matches",
15
+ "settings.keys": "{n} key",
16
+ "settings.keysPlural": "{n} keys",
17
+ "settings.ofTotal": "{n} of {total}",
18
+ "settings.readFail": "Could not read the config.",
19
+ "settings.file.title": "Override file",
20
+ "settings.file.file": "file",
21
+ "settings.file.state": "state",
22
+ "settings.file.exists": "exists — only changed keys are written here",
23
+ "settings.file.absent": "not created yet (every key is at its default)",
24
+ "settings.file.traceNote": "Behavior-trace logging is permanently ON and is not configurable. Every run writes a trace. Its folder (log_dir) and how long it is kept (log_retention_days, log_retention_auto) are settings. Nothing is deleted until you run `orc clear logs --apply` or turn the automatic sweep on.",
25
+ "settings.tier.common": "Common",
26
+ "settings.tier.advanced": "Advanced",
27
+ "settings.tierDesc.common": "The keys most runs actually touch. If you change one thing, it is probably here.",
28
+ "settings.tierDesc.advanced": "Everything else ORC knows. The defaults are deliberate; change one when you have a reason for it.",
29
+ "settings.inert": "inert",
30
+ "settings.shadowed": "shadowed",
31
+ "settings.handEdited.title": "Hand-edited keys",
32
+ "settings.handEdited.note": "These are not in the config registry, so `orc config set` refuses them and this panel will not write them. rubric_bands_override is the designed case: it is hand-written by intent. Edit the YAML file directly.",
33
+ "settings.handEdited.readonly": "read-only here — hand-edit orc.config.yaml",
34
+ "settings.ladder.title": "Score → model ladder",
35
+ "settings.ladder.opus5": "opus5_only is ON — executors use the fixed 2-band effort ladder. It outranks the default table and rubric_bands_override.",
36
+ "settings.ladder.override": "A hand-written rubric_bands_override is in the file. It replaces the default table (and is itself outranked by opus5_only).",
37
+ "settings.ladder.default": "The default 5-band table. Tables resolve highest-wins: opus5_only > rubric_bands_override > this one.",
38
+ "settings.ladder.note": "Read-only — a diagram, not an editor. This comes from the CLI's own table, so the panel adds no extra copy of it.",
39
+ "profiles.title": "Config profiles",
40
+ "profiles.note": "A profile writes only existing, validated keys — nothing it sets is something you could not set yourself.",
41
+ "profiles.apply": "Apply",
42
+ "profiles.wouldChange": "would change: {list}",
43
+ "profiles.noChange": "this repo is already on that profile — nothing would change",
44
+ "recommend.title": "Recommended profile",
45
+ "recommend.note": "Read-only: this looked at the repo and suggests one profile. Nothing was changed.",
46
+ "recommend.applyIt": "Apply {name}",
47
+ "settings.retired.title": "Retired settings",
48
+ "settings.retired.note": "These keys were removed from ORC. The lines are still in your config file. ORC does not read them and does not change them. You can delete the lines when you want.",
49
+ "settings.retired.badge": "not read",
50
+ "settings.retired.readonly": "Removed. ORC no longer reads this key.",
51
+ "settings.retired.removedIn": "Removed in v",
52
+ "settings.ranks.title": "Who decides what",
53
+ "settings.ranks.note": "Some settings answer the same question. Read a family top-down and stop at the first rank that resolves. This is what your config file did, not what it could do.",
54
+ "settings.ranks.none": "No contested families — every setting here answers a question of its own.",
55
+ "settings.ranks.answeredBy": "Answered at {prio} by {key}.",
56
+ "settings.ranks.answeredByDefault": "Answered at {prio} by the shipped default — nothing above it resolved.",
57
+ "settings.ranks.legend": "States:",
58
+ "settings.lanes.label": "Read by:",
59
+ "settings.lanes.none": "no lane — the orc extra bridge reads it"
60
+ }
@@ -118,6 +118,7 @@
118
118
  "behaviour.q.cats": "Temuan yang diterima per jenis",
119
119
  "behaviour.q.reviews": "1 review",
120
120
  "behaviour.q.reviewsPlural": "{n} review",
121
+ "behaviour.q.projectReviews": "Review proyek: {n} (dihitung terpisah dari review ORC)",
121
122
  "behaviour.q.none": "Belum ada review dalam rentang ini.",
122
123
  "behaviour.q.trend": "Penerimaan, 12 review terakhir",
123
124
  "behaviour.q.trendLabel": "penerimaan selama {n} review terakhir",
@@ -133,6 +134,18 @@
133
134
  "behaviour.q.accept": "Terima",
134
135
  "behaviour.q.acceptTitle": "Terima penekanan {id}?",
135
136
  "behaviour.q.acceptWhat": "Reviewer tidak lagi memunculkan saran ini di sini. Temuan P0 dan P1 tidak pernah ditekan.",
137
+ "behaviour.q.fixes": "Perbaikan setelah review",
138
+ "behaviour.q.fixCount": "1 perbaikan",
139
+ "behaviour.q.fixCountPlural": "{n} perbaikan",
140
+ "behaviour.q.fixesNone": "Belum ada perbaikan yang dicatat di jendela ini. Catat dengan /orc-fix.",
141
+ "behaviour.q.fixesNote": "Perbaikan tidak pernah dihitung sebagai review. Penulisnya adalah yang menemukan masalah.",
142
+ "behaviour.q.cause.sonar": "Sonar",
143
+ "behaviour.q.cause.orc": "Cacat dari ORC",
144
+ "behaviour.q.cause.ai": "Bug kode AI",
145
+ "behaviour.q.cause.other": "Lainnya",
146
+ "behaviour.q.misses": "Terlewat oleh review",
147
+ "behaviour.q.missesNone": "Tidak ada perbaikan pada baris yang sudah dibaca review sebelumnya.",
148
+ "behaviour.q.missedBy": "terlewat oleh {run}",
136
149
  "behaviour.log.title": "Jawaban terbaru",
137
150
  "behaviour.log.from": "dari baris ASK di trace Anda",
138
151
  "behaviour.log.note": "learned berarti kebiasaan yang Anda terima memilih rekomendasi. Pertanyaannya tetap ditampilkan.",