docs(spec): application-profile review fixes

Gaps closed:
- profile env travels separately from the job env (needed for the clean
  outer-layer environment; remote tasks get both)
- merge library parses and rewrites exdata (env, limits; keeps meta);
  added to job-config-merge scope
- new start_info fields listed (job starter, profile env)
- empty profile name = no profile, never resolved to default_application
- a file profile named default replaces the built-in one
- restart copies the profile name; array jobs carry one name
- multi-host outer pre/post-exec and job starter placement as open design
  questions; rusage=0 and declined-dispatch counting to confirm
- scheduler-side field completeness (frozen dispatched jobs, Conf4Sched
  profiles in snapshot/replay)
- no secrets in profiles; xceadmin warns on secret-looking env names

Stale text fixed: job-modify reference, exdata wording, rusage defaults
exception, I/O directories (moved to job-sandbox-execution), sandbox in the
sketch, job starter and job_pre_post_exec in the table, dispatch record
contents, misplaced rationale paragraph, versioning reference, scope and
touchpoints, task range (min/max) in job-config-layering.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-10-13 02:55:23 +00:00
parent 1f9aaae050
commit f658b0a4b0
Signed by untrusted user: rshen
GPG key ID: 80533536B0EB651C
4 changed files with 141 additions and 51 deletions

View file

@ -137,7 +137,8 @@ configuration level.
queries return it as `extend_data` (`apiserver/backend/convert_pure.go`
:388, :537); 16 KB cap (`maxExdataLen`, :395).
- `meta` is client-only metadata: apiserver and controller pass it
through uninterpreted. The worker's `parse_exdata()`
through uninterpreted (the controller's dispatch-time rewrite of exdata
limits, `job-config-merge`, preserves it). The worker's `parse_exdata()`
(`worker/src/xcecd_exdata.c`) ignores unknown top-level keys but logs a
NOTICE for each; this spec makes `meta` a known, silently skipped key
(one-line worker change).