config: orient_task_aware off on all profiles + --orient/--no-orient CLI flag#343
Merged
Conversation
…CLI flag PR #314 flipped OrientTaskAware to on-by-default in TConfig.Create and in the stock/low-token/all-on profiles, but left docs/configuration.md, onboarding (PromptOrientTaskAware default N), and the loop-shaping test all describing it as off -- a drift that strongly suggests the flip was unintended. Revert it to off-by-default everywhere and make it a per-invocation choice instead: - TConfig.Create: OrientTaskAware := False; SaveConfig emits the key only when on (emit-when-on, since default is now off again). - Profiles: drop orient_task_aware from stock, low-token, and all-on (and thus max-build, which inherits low-token). No profile enables it. - New `pasclaw agent --orient` / `--no-orient` tri-state override (TOrientOverride) applied right after LoadConfig, on top of whatever config.json resolved to. --orient is the no-edit way to try task-aware MEMORY slicing; --no-orient forces whole-file injection. Tests: config_profile + loop_shaping_defaults brought in line with the actual current defaults (loop_shaping was already red on main from #314's vault/web revert -- now green). orient_task_aware round-trip kept as an opt-in case. Docs (configuration.md, memory.md, README) note the flag. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LGQKz579j1ZnDRwmr6h1V6
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LGQKz579j1ZnDRwmr6h1V6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Makes task-aware MEMORY slicing (
orient_task_aware,PasClaw.Agent.Orient) off by default on every profile, and adds a per-run CLI flag to toggle it:Why
#314flippedOrientTaskAwareto on-by-default inTConfig.Createand in thestock/low-token/all-onprofiles — but left several places still describing it as off:docs/configuration.mdtable →falsePromptOrientTaskAware) → default N, comment "Cfg default off"loop_shaping_defaults_tests→ assertedOrientTaskAwareFalseThat inconsistency (only the code default + 3 profiles got flipped, nothing else) strongly suggests the on-flip was unintended. This PR reverts it and makes enabling it an explicit, per-invocation choice — whole-file injection is the long-standing contract, and slicing changes what the model sees, so it shouldn't be silently on.
Changes
Default & serialization (
PasClaw.Config.pas)TConfig.Create:OrientTaskAware := False.SaveConfig: emitorient_task_awareonly when on (emit-when-on, matching the off default) so fresh configs stay tidy and an opt-in round-trips.Profiles (
PasClaw.Config.Profile.pas)orient_task_aware:truefromstock,low-token, andall-on(and thereforemax-build, which inheritslow-token). No built-in profile enables it. Descriptions updated;stockstays in lockstep withTConfig.Create.CLI (
PasClaw.Cmd.Agent.pas)TOrientOverridetri-state (ooUnset/ooOn/ooOff);--orient/--no-orientparse into it; applied right afterLoadConfig(A.Profile)so the flag overrides whatever config/profile resolved to. Usage text updated. Forwarded automatically bypasclaw build(it passes through agent flags).Tests
config_profile_tests: assert no profile enables orient and the inherit chain keeps it off; the round-trip test now exercises orient as an opt-in (default-off) round-trip.loop_shaping_defaults_tests: was already red onmain(config: adopt lean-edit shape for stock defaults + hashline opt-in onboarding #314 revertedvault/web_fetchto off without updating it) — brought fully in line with the actual currentTConfig.Createdefaults (vault/web off, orient off), somake testis green again.Docs:
configuration.md,memory.md,README.mdnote the--orient/--no-orientflag and that it's off on every profile.Verification
make allclean.make test-config-profile,make test-loop-shaping-defaults,make test-orient,make test-plan-build-modeall pass (loop-shaping went from red→green).[--orient|--no-orient].🤖 Generated with Claude Code
Generated by Claude Code