okstra 0.78.0 → 0.78.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "okstra",
3
- "version": "0.78.0",
3
+ "version": "0.78.2",
4
4
  "description": "Multi-agent cross-verification orchestrator runtime + Claude Code skills.",
5
5
  "license": "MIT",
6
6
  "author": "devonshin",
@@ -1,5 +1,5 @@
1
1
  {
2
- "package": "0.78.0",
3
- "builtAt": "2026-06-14T07:09:18.701Z",
2
+ "package": "0.78.2",
3
+ "builtAt": "2026-06-14T07:51:04.507Z",
4
4
  "repoRoot": "/home/runner/work/okstra/okstra"
5
5
  }
@@ -6,7 +6,8 @@ release-handoff 단계에서 lead 가 PR 본문을 작성할 때 사용하는
6
6
  1. per-run override (okstra-run Step 6 에서 입력)
7
7
  2. project: <project_root>/.okstra/project.json 의 ``prTemplatePath``
8
8
  3. global: ~/.okstra/config.json 의 ``prTemplatePath``
9
- 4. default: 스킬 설치 디렉터리의 ``templates/prd/pr-body.template.md``
9
+ 4. default: ``$OKSTRA_HOME/templates/prd/pr-body.template.md`` (구버전
10
+ ``~/.claude/skills/...`` 후보는 backward-compat 로 유지)
10
11
 
11
12
  경로는 절대경로 또는 ``~`` 시작 경로를 권장한다. 상대경로일 경우 project
12
13
  스코프는 ``project_root`` 기준, override 는 호출자 cwd 기준으로 해석한다.
@@ -40,6 +41,7 @@ def _default_template_candidates() -> list[Path]:
40
41
  env_dir = os.environ.get("OKSTRA_SKILLS_DIR", "").strip()
41
42
  if env_dir:
42
43
  out.append(Path(env_dir) / "okstra-run" / "templates" / _DEFAULT_FILENAME)
44
+ out.append(okstra_home() / "templates" / "prd" / _DEFAULT_FILENAME)
43
45
  out.append(
44
46
  Path.home() / ".claude" / "skills" / "okstra-run" / "templates" / _DEFAULT_FILENAME
45
47
  )
@@ -114,9 +116,8 @@ def resolve_pr_template_path(
114
116
  for cand in _default_template_candidates():
115
117
  if cand.is_file():
116
118
  return ResolvedPrTemplate(path=cand, source="default")
117
-
118
119
  raise PrTemplateError(
119
- "no PR template available: default skill template not found. "
120
+ "no PR template available: default template not found. "
120
121
  f"Searched: {', '.join(str(c) for c in _default_template_candidates())}. "
121
122
  "Reinstall okstra (`npx okstra install`) or set prTemplatePath in "
122
123
  "project.json / ~/.okstra/config.json."
@@ -13,6 +13,8 @@ SCRIPT_DIR="$(cd -P "$(dirname "$SOURCE_PATH")" && pwd)"
13
13
  WORKSPACE_ROOT="$(cd -P "$SCRIPT_DIR/.." && pwd)"
14
14
  PROJECT_ID="okstra-validation"
15
15
  PROJECT_ROOT="${OKSTRA_VALIDATION_PROJECT_ROOT:-/tmp/okstra-validate.workflow}"
16
+ export OKSTRA_HOME="${OKSTRA_HOME:-$PROJECT_ROOT/.okstra-home}"
17
+
16
18
  WORKSPACE_APP_PATH="$PROJECT_ROOT"
17
19
  OKSTRA_SCRIPT="$WORKSPACE_ROOT/scripts/okstra.sh"
18
20
  RUN_VALIDATOR_PATH="$WORKSPACE_ROOT/validators/validate-run.py"
@@ -30,6 +32,14 @@ SECONDARY_TASK_GROUP="discovery"
30
32
  SECONDARY_TASK_ID="task-catalog"
31
33
  SECONDARY_BRIEF_FILENAME="validation-brief-secondary.md"
32
34
 
35
+ # Workflow validation is a hermetic contract test for bundle prep / discovery
36
+ # artifacts / validator round-trips. It must not depend on the developer or CI
37
+ # machine having a preinstalled ~/.okstra runtime, and it must not reconcile or
38
+ # backfill against unrelated local state.
39
+ export OKSTRA_SKIP_INSTALL_CHECK="${OKSTRA_SKIP_INSTALL_CHECK:-1}"
40
+ export OKSTRA_CTL_SKIP_RECONCILE="${OKSTRA_CTL_SKIP_RECONCILE:-1}"
41
+ export OKSTRA_CTL_SKIP_BACKFILL="${OKSTRA_CTL_SKIP_BACKFILL:-1}"
42
+
33
43
  # shellcheck source=lib/common.sh
34
44
  source "$SCRIPT_DIR/lib/common.sh"
35
45
  # shellcheck source=lib/paths.sh