Skip to content

feat: promote lab workflow improvements for 0.3.0 - #7

Merged
Andyduck-ops merged 1 commit into
mainfrom
mainm
Aug 12, 2026
Merged

Andyduck-ops merged 1 commit into
mainfrom
mainm

Conversation

@Andyduck-ops

Copy link
Copy Markdown
Owner

大更新;增加了learn与sleep机制

@Andyduck-ops
Andyduck-ops merged commit 4594582 into main Aug 12, 2026
0 of 2 checks passed
@Andyduck-ops
Andyduck-ops deleted the mainm branch August 12, 2026 06:29

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4594582687

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/cli/init.ts
Comment on lines +142 to +146
...LEARN_INDEX_FILES.map(fileName => ({
sourcePath: path.join('templates', '.omp-flow', 'learn', ...fileName.split('/')),
destinationPath: path.join('.omp-flow', 'learn', ...fileName.split('/')),
group: 'core' as const,
})),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep Learn indexes out of forced template overwrites

When a user customizes any .omp-flow/learn/**/index.md and later runs omp-flow init --force or omp-flow update --force, registering these authored indexes as core managed resources causes them to be replaced by the packaged templates; update's protected user-data prefixes do not include Learn, and forced init provides no backup. Seed these files only when missing, as is done for the Wiki root, rather than treating durable Learn content as overwriteable templates.

Useful? React with 👍 / 👎.

Comment on lines +87 to +89
for path in candidates:
if path.is_file():
return path

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Hash the Sleep skill that the native actor will execute

When an OMP or Claude installation customizes its harness-native omp-flow-sleep copy, _skill_path still returns the universally installed .agents copy first, so harvesterRevision and the deterministic run receipt describe a different Skill from the one the native actor loads. Changing the actual harvester then cannot create a revised run because the unchanged .agents hash reproduces the existing receipt; either bind the executing Harness explicitly or fail when installed copies diverge.

AGENTS.md reference: AGENTS.md:L87-L93

Useful? React with 👍 / 👎.

Comment on lines +111 to +113
untracked = _git(repo, "ls-files", "--others", "--exclude-standard", "--", source_relative)
if untracked:
raise WorkflowError("Task Bundle contains untracked files")

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Reject ignored files before issuing a Sleep source receipt

When a Task Bundle contains an ignored file such as *.log, git diff remains clean and git ls-files --others --exclude-standard deliberately omits that file, while _directory_digest still includes its bytes and the archive is reported as a ready Git checkpoint. Sleep can therefore derive Candidates from evidence absent from sourceTree, and a later clone or recovery of the claimed checkpoint silently loses that evidence; detect ignored files too or derive the archived digest exclusively from the recorded Git tree.

AGENTS.md reference: AGENTS.md:L101-L103

Useful? React with 👍 / 👎.

Comment on lines +294 to +296
run["assignment"] = _sleep_assignment(run)
atomic_write_json(_run_path(repo, receipt), run)
return {"run": run, "assignment": run["assignment"]}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep executable assignment production in operation start

start_sleep_run renders, persists, and returns an independent ompFlowSleep executable assignment, creating a second dispatcher outside operation start. That bypasses the common operation, predecessor, actor, and external-receipt correlation path and gives Harness integrations two incompatible dispatch and recovery protocols; route Sleep through the existing operation assignment producer rather than introducing a parallel one.

AGENTS.md reference: AGENTS.md:L70-L74

Useful? React with 👍 / 👎.

Comment on lines +193 to +197
atomic_write_text(
index,
"---\nokf_version: \"0.2\"\n---\n\n# Wiki Sleep\n\n"
"Candidate knowledge awaiting review and possible Wiki promotion belongs here.\n",
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Move Sleep knowledge bootstrapping out of the runtime

On the first Sleep run, _ensure_sleep_root makes the Python kernel author a Git-visible Markdown index containing the purpose and placement semantics for Sleep knowledge. This manufactures authored project knowledge as a runtime side effect and leaves users with semantic content that is hard-coded outside the canonical template and Skill sources; bootstrap it through a create-if-missing installation or an assigned authoring Skill instead.

AGENTS.md reference: AGENTS.md:L8-L15

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant