Files

52 lines
3.1 KiB
Python
Raw Permalink Normal View History

2026-11-09 11:51:56 -06:00
"""TEMPLATE — Technical Action Plan (TAP). Copy this folder to <PROJECT>/source/ and fill it in.
A planned engagement with a customer or OEM partner: scope, staffing, logistics, procedures, success
criteria. Marked CONFIDENTIAL automatically. 5–12 pages.
See MPM_Document_Standard.md §9.6. Reference: TAP-GIL-M37-01 (GILLIG).
Order: masthead → document-control table → confidentiality notice → 1 Purpose & scope (what changed)
→ 2 Background & register → 3 Information required (Action required) → 4 Personnel
→ 5 Kit → 6 Timeline → 7 Procedures by group → 8 Open items → 9 Acceptance criteria
→ 10 Reporting → 11 Contacts → approval → Revision history
Sections are numbered in the heading text ("3. Information required …"; "7.1 Group A …").
"""
import sys, pathlib
HERE = pathlib.Path(__file__).resolve().parent
sys.path.insert(0, str(next(p / "_STANDARDS" for p in HERE.parents if (p / "_STANDARDS").is_dir())))
from mpmdoc import Doc
doc = Doc(
number="TAP-MPM-SUBJ-01", rev="0.1", date="2026-11-06",
customer=None, subject="Product",
footer="Customer · NDA",
title="Customer On-Site Service Engagement",
lede="What is being resolved, for which products, where.",
meta=[("Customer", "Customer · Partner"), ("Engagement", "Dates")],
slug="Customer_Subject_Action-Plan",
history=[("0.1", "2026-11-06", "Initial draft.")],
)
doc.add(
doc.kv([("Supersedes / references", "Prior plans, bulletins, RMAs"), ("Distribution", "Customer | Partner"),
("Affected products", "Product names and part numbers"), ("Field technician", "Name, role"),
("Technical oversight", "Jason Stedwell, Director of Technical Services"), ("Engagement site", "Facility, City, ST")]),
doc.note("Proprietary &amp; confidential", "Provided exclusively to the named recipients under the existing NDA. "
"Reproduction or disclosure to any third party without written consent from MPM is prohibited.", tone="warn"),
doc.section("1. Purpose and scope", new_page=True),
doc.p("What this plan covers and the shared objective."),
doc.note("What changed in this revision", "Only from 1.1 on: the scope change in one paragraph."),
doc.section("2. Background and known-issue summary"),
doc.table([("Reject #", "m"), ("Issue", ""), ("Group", ""), ("Status", "")], [["00000", "Reported issue", "A", "On-site"]],
caption="Known-issue register.", cls="tight"),
doc.section("3. Information required prior to engagement"),
doc.special("Action required", "Customer response needed to finalize the visit",
doc.table([("#", "q"), ("Information needed", ""), ("Why it matters", "")], [["1", "Units staged", "Work starts on arrival"]], cls="tight")),
doc.section("4. Personnel"), doc.p("Who is on site, who oversees, who coordinates."),
doc.section("7. Procedures by group"), doc.sub("7.1 Group A"), doc.steps(["Step.", "Step."]),
doc.section("9. Acceptance criteria"), doc.bullets(["Pass criterion."], check=True),
doc.approval("Jason Stedwell", "Director of Technical Services, Message Point Media | Irondale, AL", "2026-11-06"),
)
doc.build()