Commit 424b0749 authored by Vacaliuc, Bogdan's avatar Vacaliuc, Bogdan
Browse files

save current session state; reference common knowledge

parent 58e4391c
Loading
Loading
Loading
Loading
+2 −39
Original line number Diff line number Diff line
@@ -16,42 +16,5 @@ Your prompts will indicate any specific files you should use. Generally, these w

* /media/ssd2/Projects/Radiasoft: files and folders in support of the Genesis Radiasoft-led proposal

## Secure Temporary Files

When a task requires writing a temporary script or data file (e.g. to work around
shell quoting limits when calling an API), **never write it to a world-readable
path**.  `/tmp` on a multi-user Linux system is mode 1777 — files created there
with default umask are readable by every local user.

**Always create temporary files with mode 600 (owner read/write only):**

```python
import os, tempfile

# Preferred: tempfile.NamedTemporaryFile — mode 600 by default
with tempfile.NamedTemporaryFile('w', suffix='.py', delete=False) as fh:
    fh.write(script_content)
    tmp_path = fh.name
try:
    # use tmp_path ...
finally:
    os.unlink(tmp_path)   # always clean up
```

Or with the Write tool followed by an immediate chmod:

```bash
# After writing the file, restrict permissions immediately
chmod 600 /path/to/tempfile
```

**Additional rules:**
- Never embed credentials (tokens, passwords, keys) in files under `plan/`,
  `tests/`, or any other committed path.  Use environment variables or
  `~/.netrc` / `~/.config` files (also mode 600) instead.
- Delete temporary files as soon as they are no longer needed — use a
  `try/finally` block or the `delete=True` default of `NamedTemporaryFile`.
- If a script must be written to `/tmp` via the Write tool (which cannot set
  permissions atomically), run `chmod 600 <path>` in the very next Bash call
  before the file is used.
*(Shared rules like "Secure Temporary Files" live in the parent repo's `CLAUDE.md`
and in `setup/patterns/*.md`; they are not duplicated here.)*
+59 −0
Original line number Diff line number Diff line
# Genesis Proposal Document Preparation

**Project:** genesis-proposal-work (branch: genesis-proposal-work)
**Proposal:** "Digital twin deployment for automated discovery in neutron scattering experiments and particle accelerator commissioning"
**RFA:** DE-FOA-0003612 (DOE Genesis Mission, Focus Area 11-C)
**Lead:** RadiaSoft LLC (PI: David Bruhwiler)
**ORNL PI:** Stuart Calder
**ORNL Senior/Key Personnel:** Christina Hoffmann, Bogdan Vacaliuc

## Completed Tasks

### 1. Biographical Sketch (DONE)
- **Output:** `/media/ssd2/Projects/Radiasoft/Vacaliuc_BioSketch_ORNL.pdf` (4 pages)
- **Source:** `/media/ssd2/Projects/Radiasoft/Vacaliuc_BioSketch_ORNL.md`
- **Compliant with:** Biographical Sketch Common Form (Nov 1, 2023)
- **Products selected:** 14 products organized in 4 thematic groups (neutron scattering instrumentation, EPICS control systems, AI/ML workflows, scientific computing software)
- **Education dates confirmed:** B.S. 09/1986-05/1990, M.S. 09/1990-05/1992 (Northwestern, EE)

### 2. Current and Pending Support (DONE - one placeholder remains)
- **Output:** `/media/ssd2/Projects/Radiasoft/Vacaliuc_CurrentAndPending_ORNL.pdf` (4 pages)
- **Source:** `/media/ssd2/Projects/Radiasoft/Vacaliuc_CurrentAndPending_ORNL.md`
- **Compliant with:** Common Form for Current and Pending (Other) Support (Nov 1, 2023)
- **Three entries disclosed:**
  1. This proposal (Pending) — 10% FTE, 0.9 person-months, $200,000 ORNL share
  2. ORNL Base Program (Current) — 80% FTE, 9.6 PM/yr, DE-AC05-00OR22725 / WBS 3ERKCSNX
  3. LOTF Materials by Design Pilot (Current) — 20% FTE, 1.8 PM, $63,400

**PLACEHOLDER TO FILL:** Project 2 "Total Anticipated Amount" is `[TO BE PROVIDED]` — needs dollar amount for Vacaliuc's base program funding under WBS 3ERKCSNX for FY26.

## Rendering Tools

A `uv`-managed Python environment exists at `/media/ssd2/Projects/Radiasoft/biosketch-tool/` with `weasyprint` and `markdown` installed. Render scripts:

```bash
# Biographical Sketch
cd /media/ssd2/Projects/Radiasoft/biosketch-tool && uv run python render_biosketch.py

# Current and Pending Support
cd /media/ssd2/Projects/Radiasoft/biosketch-tool && uv run python render_currentpending.py
```

Edit the `.md` source files then re-run the corresponding script to regenerate PDFs.

## Reference Documents

- `/media/ssd2/Projects/Radiasoft/biographical-sketch-common-form.pdf` — form instructions
- `/media/ssd2/Projects/Radiasoft/Common Form for Current and Pending (Other) Support - Policies _ NSF - U.S. National Science Foundation.pdf` — form instructions
- `/media/ssd2/Projects/Radiasoft/bvacaliuc-2026.pdf` — source CV (6 pages)
- `/media/ssd2/Projects/Radiasoft/Genesis_11c_RadiaSoft_20260416.pdf` — proposal draft (7 pages)
- `/media/ssd2/Projects/Radiasoft/DigitalTwin_SOW_04-10-2026.docx` — RadiaSoft subcontract SOW
- `/media/ssd2/Projects/Radiasoft/Vacaliuc-ORNL_Radiasoft_GM_LoC_JT.pdf` — ORNL Letter of Commitment
- `/media/ssd2/Projects/LOTF/LOTF_Pilot_Project_Final.docx` — LOTF pilot project (Vacaliuc 20% FTE Co-I)

## Potential Future Tasks

- Fill in the base program dollar amount placeholder in Current & Pending
- Prepare biosketches / C&P forms for other ORNL senior/key personnel (Calder, Hoffmann) if needed
- Review / update the proposal narrative once it matures beyond the current draft state
- Budget justification for ORNL's $200K share if requested