IS373 Review 1 Plan Portfolio and RAG App

Derrick Parker · IS373 Review 1 Plan · Prepared November 9, 2026 Due: November 17, 2026 at 1:00 p.m. Eastern · Individual submission

Direction: cloud/platform IT. Product: a professional portfolio and Newark Civic Pulse, a small Newark public-records RAG app. The November 10 Newark direction supersedes the original Docker-documentation corpus. Reuse the existing FastAPI application and GitHub project; keep the earlier Docker work as provenance.

This is the combined individual record. It covers the portfolio and individual RAG app. The separate team content-system plan belongs in the group review. The partner can review this individual work; no partner implementation or feedback is claimed here.

Status, November 10, 2026: Newark Civic Pulse is publicly deployed with seven official Newark sources, eight chunks and eight compatible real embeddings. Chatbot and research/methods return HTTP 200. Current runtime package 72c8c52954d4 adds pinned timezone data; application logic and the civic fingerprint remain unchanged from the initial 65c0e49 hosted trial/recovery checks. Draft PR #7 remains open/unmerged; Linux and Windows CI both passed at the exact current package head. Local checks passed 217 tests. Portfolio work, learner verification, human peer review and Canvas submission retain their separate pending statuses.

Research index

Requirements checked November 10, 2026: Derrick supplied the current Canvas assignment text, including the research workshop clarification. It specifies November 17, 2026 at 1 p.m. Eastern, 100 points, a text-entry submission and both individual headings below. This audit uses that supplied text; it does not establish live Canvas submission status. Actual peer feedback, Derrick’s own claim verification/reflection and instructor access to the final links remain to be completed.

Evidence labels: official source facts are attributed and versioned; actual ETL/model/retrieval/hosted outputs are observations; support reviews are AI judgments, not human peer approval. Fixtures check the behaviors they exercise, not semantic model quality. Specific public/recovery checks are observed; learner/peer review and deferred work remain pending. Local checks and Linux/Windows CI passed at the recorded package revision; their results remain distinct from model-quality observations. No grade, broad production-readiness guarantee or measured gain beyond the small comparison is inferred.

1. Individual portfolio + career research

Target reader and provisional direction

The portfolio will serve an internship or junior-role reviewer looking for practical Linux, cloud support and platform skills. After a short visit, the reviewer should understand Derrick’s direction, inspect evidence of deployment and access-control work, and open the individual RAG project.

Derrick selected cloud/platform IT and an IT-documentation RAG topic. The fit assessment below is an inference from the available coursework and repository evidence, rather than a claim of professional cloud-engineering experience. Graduation date, relocation/travel preferences and full job eligibility have not been confirmed.

Three original employer records

All three employer pages were opened on November 9, 2026. Each displayed an application entry point. That establishes a visible posting/application route, not a guarantee of eligibility or an offer. Posted dates and closing deadlines were not stated in the retrieved descriptions.

J1 OpenAI — Forward Deployed Engineer (FDE) - NYC

Family/industry: customer-facing AI deployment / AI software. Location: New York City; hybrid, three office days weekly; up to 50% travel. Level: experienced reference, not a near-term eligibility claim. Advertised base compensation: $185,000–$300,000 annually plus equity.

Three responsibilities: carry a deployment from discovery to rollout; build full-stack customer solutions; turn field results into reusable tools and evaluation feedback. Supporting excerpt, “In this role you will”: “Own technical delivery across multiple deployments”.

Qualifications: the “You might thrive” profile seeks 5+ years of relevant customer-facing engineering/deployment work, strong Python/JavaScript or comparable coding, and experience with LLM systems. It does not publish separate mandatory and preferred lists; these expectations should not be reclassified as optional.

Existing evidence: the calculator deployment record and its repository show a bounded delivery project. Gap: multi-year customer delivery and evaluated LLM deployment are not established. Next action: by November 12, map one customer-style question to a source-supported RAG acceptance check.

Original posting

J2 Canonical — Cloud Support Engineer

Family/industry: cloud operations/support / open-source software. Location: home based worldwide; regular weekend rotation and in-person company gatherings. Level: full role, not labeled an internship. Salary amount and sponsorship details were not stated.

Three responsibilities: resolve Ubuntu/cloud customer problems; own support cases with clear communication; maintain technical knowledge articles. Supporting excerpt, “The role entails”: “Author and maintain accessible knowledge base articles”.

Qualifications: the stated profile includes a technical degree or explained alternative, practical Linux support, programming fundamentals, and exposure across at least three listed cloud/container/storage/networking areas. Communication, academic record and troubleshooting also matter. No separate preferred-qualification list was found.

Existing evidence: Docker/Traefik deployment documentation and its troubleshooting record provide learning-project examples. Gap: production support across the requested technology breadth is not demonstrated. Next action: by November 12, prepare a reproducible port-routing troubleshooting note and explain what its checks establish.

Original posting

J3 Canonical — Software Engineer - Python - Cloud - graduate level

Family/industry: cloud/platform software engineering / open-source software. Location: home based Americas; global travel is part of the role. Level: explicitly graduate level, providing the junior-career reference. It is not an internship. Salary amount was not stated.

Three responsibilities: develop and test Ubuntu cloud improvements; debug defects and deliver fixes; review code with a distributed team. Supporting excerpt, “The role entails”: “Write high quality code, with unit and functional tests”.

Qualifications: the stated profile includes a bachelor’s/equivalent in CS, STEM or a similar area, extensive Python on Linux, and experience in two or more listed administration, CI, packaging or cloud areas. Open-source community involvement is a bonus. Graduation timing and eligibility remain unconfirmed.

Existing evidence: the FastAPI application’s own feature PRs and contract-check source show relevant coursework. Gap: extensive Python/Linux work and Ubuntu image/packaging experience are not established. Next action: by November 16, define and inspect an import-repeatability check in the RAG plan.

Original posting

These three postings are a small research sample. They do not establish hiring trends or present qualification for the roles. Keep private career reflection directly in the Canvas text entry after Derrick has reviewed it. This shareable record contains suitable goals, source comparisons and project evidence; the private reflection draft is excluded.

Compare two career directions

DirectionWork evidenced by the postingsCurrent connectionMain gap and implication
Cloud support/platform engineeringDiagnose Linux/cloud issues, automate changes, write tests and explain operationsExisting server deployment, Docker/Traefik work, FastAPI and networking courseworkNeed deeper Python/Linux operations and measured recovery evidence; emphasize reproducible setup and troubleshooting
Forward deployed AI engineeringDiscover customer needs, integrate models, deliver and evaluate a complete workflowExisting scoped deployments and the proposed documentation assistant provide a learning pathExperienced production delivery and LLM evaluation are not established; retain as a longer-term reference

Provisional choice: cloud/platform IT, with FDE as a comparison. It builds on the evidence already available while the RAG project adds retrieval, evaluation and service-integration experience. The next experiment is whether the finished case studies let a reviewer identify that direction and inspect a concrete result.

Public introduction draft: “I’m Derrick Parker, an IT student at NJIT focused on cloud systems, Linux and networking. My coursework includes Docker/Traefik deployment and a FastAPI app with accounts and server-enforced roles. I’m planning a small documentation assistant to practice retrieval, evaluation and reliable service operation.”

Responsibility to evidence map

Employer responsibilityExisting evidence to featurePlanned addition
Diagnose and explain operational issues (J2)Server Studio specification, calculator deployment notes and troubleshooting materialA short request-path/runbook case study with an observed failure and recheck when available
Build, test and review Python/cloud changes (J3)Own FastAPI account/role PRs and test sourceReal repeat-import, persistence and denied-admin checks for the RAG app
Deliver a useful end-to-end workflow (J1)Existing calculator deployment record; bounded FastAPI application workRAG source → retrieved passage → cited answer trace and an accurately attributed group case study

Inspected source revisions: application b7e958d6ce7935f7cad5b3f55599d4d16f1ea5e9; hosting 917ffe71b54183d57410437de1fbee1629cdf261. The application checkout was clean. These are source/revision observations, not new execution or hosted-availability checks.

The existing calculator URL is recorded in the deployment specification. Its live availability was not rechecked for this Plan. Instructor-operated synthetic trial receipts in the repository’s review folder are excluded as evidence of Derrick’s own learning.

Portfolio content and layout decision

Planned page or routeContent and evidence
/portfolioAccurate introduction, cloud/platform direction, selected work and repository/contact actions
/portfolio/projects/deploymentDocker/Traefik calculator request path, setup, checks, decisions and limits
/portfolio/projects/ragIndividual RAG case study: source rights, architecture, evaluation and link to the app
/portfolio/labPublic, bounded RAG interface with visible sources and honest service status
/portfolio/projects/groupClearly labeled planned group case study; named personal contribution and shared-system links once known
/portfolio/aboutSuitable résumé, verified GitHub/LinkedIn links and professional contact route

GitHub is verified as Y-Just-Y. Résumé, LinkedIn and the preferred public contact route must be confirmed before publication; no invented profiles or addresses will be used. The current Newark Civic Pulse app remains existing project evidence, rather than being presented as an already finished personal portfolio.

Layout A — evidence first: introduction → three project cards → deployment/retrieval check evidence → about/contact. Layout B — biography first: long introduction and background → skill list → project case studies → contact. Both use exactly the same material.

Selected proposal: Layout A. A cloud/platform reviewer can reach the deployment, setup and check links earlier. This is a design hypothesis, not an observed preference from a real recruiter. Keep a restrained charcoal/ivory palette from the existing app, one accent, readable type and explicit “planned” status badges. The professional character is factual and transparent. Demonstrate ability through inspectable work; omit invented endorsements or credentials.

Planned portfolio checks: keyboard navigation, clear focus, mobile reading order, working links, public project access without signup, and a real peer finding the direction and one evidence link.

Changed: selected a direction, mapped employer responsibilities to portfolio content and rechecked the plan against the November 10 Canvas text. Checked: original employer pages, local source revisions and existing project links were inspected. New site behavior and user preference have not been tested. Next: Derrick verifies the cited claims and reviews the private reflection for Canvas; confirm contact assets; obtain the partner’s actual judgment on whether the target reader and featured evidence follow J1–J3, then record the decision and any documentation change before November 17.

2. Individual RAG app + technical research

Updated November 10, 2026.

Newark Civic Pulse helps a reader ask about a small snapshot of Newark Municipal Council meetings and selected agenda items, then inspect the official public records. Derrick changed the corpus from Docker to Newark and confirmed Newark data only for the chatbot. Implementation/research explanations are on the separate public research page, not added as government-record evidence. The original application history and Docker exercise remain provenance.

The journey is: ask when/where a listed meeting was scheduled, connect an ordinance listing to its meeting, or compare scheduled meeting times; inspect the citations. The live corpus remains seven official records/eight chunks, not a complete or upcoming calendar. A schedule/final agenda does not itself establish occurrence or approval. Private records, passwords, unsupported budget totals and project-method explanations are outside the chatbot’s civic evidence.

Current implementation and evidence

A direct Python ETL extracts the bounded public Legistar JSON feed, normalizes public records and source metadata, splits paragraphs and loads SQLite sources/chunks/FTS5. ETL means extract, transform and load; this engineering process is not attributed as a discovery of a RAG paper.

Observed: seven sources/eight chunks; repeat live import returned 0 new, 0 updated, 7 unchanged. Eight real 1,536-dimensional OpenAI text-embedding-3-small vectors are compatible with the current store. Vectors bind chunk ID, content hash and model; current-source joins exclude stale versions. Two corrected source references created new versions and were re-embedded.

Models and private access

The key was configured privately. Real generation used gpt-5-mini; the user authorized an initial test budget up to $5, not a verified spend receipt. Explicit offline embedding requires the CLI confirmation flag. Web retrieval reads existing evidence; model calls use the private server configuration.

Observed import and question flow

Current Newark Civic Pulse flowOfficial records pass through Python ETL into SQLite and explicit embeddings. A question retrieves current keyword and vector evidence before OpenAI generates a cited answer or an insufficient-evidence response.Official NewarkLegistar APIPython ETLnormalize, version, chunkSQLite current sourcesand FTS5 indexExplicit privateembedding stepsqlite-veccurrent vectorsReader questionFastAPI limits, retrievaland rank fusionOpenAI answerbounded source contextCitations orinsufficient evidence
Current direct Python path. Rust/NATS and graph retrieval remain deferred.

Official source snapshot

The City Clerk links to Legistar. The official API supplied the bounded Newark request without a key; that observation does not establish access rules for every municipality.

Source IDImported scope
newark-meeting-302232November 5, 2026; 12:30 p.m.; Council Chamber
newark-meeting-302231October 21; 6:30 p.m.
newark-meeting-302230October 13; 10 a.m.
newark-meeting-302227October 7; 12:30 p.m.
newark-meeting-302228October 6; 10 a.m.
newark-agenda-517475November 5 ordinance listing 26-0816
newark-agenda-517479November 5 ordinance listing 26-1056; two chunks

The November 10 snapshot retains stable IDs, URLs, headings, fetch/update times, source/chunk hashes and versions. Two original meeting pages returned HTTP 410. Their current references were repaired through verified same-ID official API records; the original URLs remain provenance. Repair occurred after the frozen evaluation and affected two sources not cited by its answers.

Research and choices

Primary source actually readSupport → project choice → limit
Lewis et al., RAG, §§2–2.2Retrieve external passages for a generator → cite public records → no reproduction of its training method
Karpukhin et al., DPR, §§3,5Dense query/passage retrieval → evaluate retrieval separately → published benchmark gains are not our results
Wang et al., best practices, §§3.2,3.2.4,3.4,5.1Boundaries, metadata, hybrid retrieval and efficiency merit comparison → compare one corpus/configuration → no universal optimum
Es et al., RAGAS, §3Faithfulness, answer relevance and context relevance differ → separate evidence support from retrieval → RAGAS software/metrics not run
Liu et al., Lost in the Middle, §2.3Evidence position affected tested models/tasks → bound context and retain ranks → current-model position sensitivity unmeasured

The instructor repository, read at 242fd57ecde387c98ff904cbe3dd2911aa46e2b0, provides research/design documentation, synthetic publication-contract examples and a welcome-page scaffold. Its research backend is planned, not a working runtime to claim as our integration. Adopted ideas: provenance, stable IDs, idempotency, keyword/vector readiness, short transactions and stale-representation exclusion.

Selected: SQLite FTS5/BM25 plus sqlite-vec==0.1.9 cosine search, fused by reciprocal rank 1/(60+rank). Keyword is a necessary exact-identifier baseline; vector similarity may help paraphrases but does not prove truth. Rust/NATS are deferred to keep the first working journey small. Native graph storage/extraction is researched but absent. A possible evidence-backed AgendaItem —LISTED_AT→ Meeting edge must not imply approval.

Actual chunk and retrieval comparison

Paragraph-aware chunks use a maximum 1,600 characters and no overlap. On the same imported text, paragraph-aware and fixed 1,600-character splitting both produced eight chunks and preserved all five inspected date/time/location spans. No boundary advantage was observed at that cap. Characters are not token measurements; this did not evaluate semantic quality.

Executed relationship trace

Q3 actually connects agenda 517475 to meeting 302232 and November 5 at 12:30 p.m. The generated answer cites both. Vector-only top five missed the agenda source; keyword and hybrid retrieved both. This is an AI evidence-support judgment, not human peer approval.

Five evaluation questions

Frozen comparison: seven official Newark sources/eight chunks. Expected sets were fixed before model calls; later URL repairs and the separate hosted smoke test do not change the saved benchmark.

QuestionRequired source(s)Keyword / vector / hybrid coverage at 5Actual answer review
Q1 Exact November 5 time/locationMeeting 3022321 / 1 / 1Correct fields/citation; historical-tense wording note
Q2 Paraphrased meeting locationMeeting 3022321 / 1 / 1Correct location; “directed” wording stronger than source field
Q3 Ordinance 26-0816 → meeting/timeAgenda 517475 + meeting 3022321 / 0.5 / 1Correct relationship/time; both citations
Q4 November 5 versus October 21 timesMeetings 302232 + 3022311 / 1 / 1Correct 12:30 p.m. versus 6:30 p.m.; both citations
Q5 Approved 2026 city-budget amountNo imported supportNot scoredActually declined; no invented amount/citation

Keyword and hybrid found complete required-source sets for 4/4 answerable questions; vector did for 3/4, mean coverage 0.875. Q3 exposes a real vector missing-source result. Hybrid recovered it but tied keyword coverage. This small set does not establish a general improvement.

The frozen evaluation used seven official sources/eight chunks. Expected sets were fixed before five query-embedding and five generation requests and were not changed to force a pass. Readable results and raw JSON are published and returned HTTP 200. They retain actual ranks, context, source hashes, models, answers, citations and AI judgments. All cited answer URLs returned 200. The wider original check found three 200s/two 410s among five meeting-page URLs; later same-ID API repairs do not erase that observation. The published hosted-check receipt records a separate real hybrid answer that correctly reported November 5 scheduled at 12:30 p.m., America/New_York, Council Chamber and cited newark-meeting-302232-v1-001. This is a hosted smoke result, not a rerun or expansion of the five-question benchmark. No RAGAS execution, human-peer grade or general advantage is claimed. The paid hosted trial was captured at initial code 65c0e49; the current 72c8c52954d4 package changes timezone dependencies only, with unchanged app logic and civic data.

Checks, hosting and next steps

StoryCurrent evidence and remaining limit
C1 A reader can verify an answerFive real evaluation responses are saved in the frozen results; a separate actual hosted gpt-5-mini answer captured at initial code 65c0e49 is recorded in the hosted receipt. The hosted schedule/location answer cited the correct current chunk. Research, cited URLs and published evaluation links were checked. Human claim/link review remains pending
C2 Import is repeatable and update-awareLive repeat import: 0 new, 0 updated, 7 unchanged. Two corrected source versions were re-embedded; eight compatible vectors remain active. Fixtures separately check stale-vector exclusion
C3 Missing evidence stays missingQ5 declined the unsupported budget amount without an invented value/citation. One refusal does not establish general adversarial robustness
C4 Import and model access are controlledThe initial hosted check returned 401 for anonymous import and 403 for chat without CSRF. The configured real model answered a legitimate hosted question. Keys remain private; these checks do not prove every security property
C5 Committed evidence survives operationAt initial code 65c0e49, ordinary restart preserved the identical seven-source/eight-chunk corpus fingerprint and eight vectors. The recovery receipt records private backup/independent restore passing integrity and identical corpus/vector-byte/mapping hashes; the live database was untouched. Current package 72c8c52954d4 also preserved the source/version fingerprint and runtime/certificate storage. These are controlled persistence/recovery observations, not an availability guarantee

Hosting status

Public URLs: chatbot and research/methods. The separate $6/month Ubuntu 24.04 SFO3 host now runs package 72c8c52954d49d1ffe2479afdc93b87c18829dfb; production Asteri remains untouched. This dependency-only refresh installs tzdata==2026.6; forced-package checks resolved winter/summer New York offsets. Ordinary Mac DNS and trusted HTTPS checks passed: /health reports production, /ask, /research and /api/civic/status return 200, with 7 sources/8 chunks/8 compatible 1,536-dimensional vectors. The source/version fingerprint, runtime/certificate storage and unrelated auth/limit stores were preserved; refresh performed zero imports or paid calls. Original hosted-model/recovery receipts describe 65c0e49, not a new paid/recovery trial at package 72. The development-only address remains http://127.0.0.1:8000/ask.

The published code branch and current runtime package are at 72c8c52954d49d1ffe2479afdc93b87c18829dfb. Draft PR #7 remains unmerged; Linux and Windows CI passed at that exact head. Pinned tzdata==2026.6 fixes missing IANA data on Windows. The published hosted-check receipt and recovery receipt retain the original 65c0e49 trials; the dependency-only refresh preserves app logic and the 7/8/8 civic store.

The full local studio.py check passed Black, Pylint and 217 tests: 196 unit/integration, 18 contract and 3 actual Chromium browser checks, including a run with PYTHONTZPATH empty to exercise packaged timezone data. An initial Windows CI run exposed missing IANA timezone data; pinned tzdata==2026.6 fixes that dependency gap. Linux and Windows CI then both succeeded at exact head 72c8c52954d49d1ffe2479afdc93b87c18829dfb. The current server package uses that head. The paid hosted answer and private backup/independent-restore receipts remain the original 65c0e49 observations; app logic and the seven-source/eight-chunk/eight-vector store are unchanged. Fixture checks, model observations and human review are separate evidence; no peer approval or grade is inferred.

Changed: replaced Docker with Newark records; implemented ETL, keyword/vector/hybrid retrieval and OpenAI chat; repaired two source references; deployed separately; published research/results and draft PR #7; pinned timezone data after a Windows CI dependency failure.
Checked: actual import/idempotency and embeddings, frozen five-question comparison, chunk boundaries/research, full local 217-test/format/lint run with empty PYTHONTZPATH, Linux+Windows CI and live package 72c8c52954d4 readiness with unchanged 7/8/8 corpus. Initial 65c0e49 receipts retain the actual paid public answer, 401/403 controls, restart and private backup/independent restore. AI support judgments remain labeled.
Next: review draft PR #7; have Derrick verify claims/explain choices; complete portfolio/private-reflection work, collect real peer feedback, make a meaningful improvement and retest; review instructor access and submit to Canvas personally.

AI agents researched, implemented, tested and drafted these technical summaries. They are not Derrick’s private reflection, human peer feedback or a grade. Portfolio/private material in the combined record retains its own status.

Dated actions and requirement audit

WhenActionEvidence to retain
Nov 10 observedNewark ETL/model/evaluation, reference repairs, separate-host deployment, public research/chat and controlled recovery checksFrozen results, 217-test receipt, trusted HTTPS/DNS/routes, actual hosted answer/control checks and restart/backup/restore hashes
Nov 10–12 workshopPartner reviews published research and actual results; Derrick verifies claims and explains choicesReal reviewer/date/question, Derrick’s response and meaningful follow-up check; no AI roleplay substituted
By Nov 12Review the separate private career reflection for Canvas; inspect the portfolio design rationaleDerrick-reviewed Canvas-only reflection and suitable public explanation
By Nov 16Review actual RAG evidence and remaining limits; Rust/NATS stays deferred unless independently checkedUpdated checked/next notes, working public journey and source references
Nov 17, 1 p.m. ETSubmit combined individual Plan record after reviewTwo labeled sections, changed/checked/next and instructor-readable links
Nov 24, 1 p.m. ETHosted portfolio foundation and small real RAG journeyActual public import, retrieval, generated answer and limits
Dec 3, 1 p.m. ETChecked hosted releasePersistence, setup, evaluation and source references
Dec 10, 11:59 p.m. ETImprove from real peer feedbackActual issue, meaningful fix and retest

All dates are 2026. The instructor’s current milestones also mention an individual PowerPoint for Demo Day; that is a later final requirement, not additional work for this Plan.

Plan requirementLocation in this recordAudit status
Two exact individual headings and one combined recordSections 1 and 2Covered
Three original employer postings; two career directions; target role/readerJ1–J3 and comparisonCovered; eligibility and sample limits stated
Responsibilities mapped to evidence; portfolio page outline; two lightweight layoutsSection 1Covered as Plan content
Private career reflection stays in CanvasCanvas hand-in instructionsPrivate draft prepared separately; Derrick’s review and Canvas entry pending
Vector/graph databases, RAG, chunking, embeddings, entities/relationships and importSection 2 and primary referencesCovered
Alternatives compared before selecting an approach and toolKeyword/vector/graph research and architecture choiceCovered; same-corpus comparison recorded with limits
Permitted sources and source/version strategySeven official Newark records and source/version strategyActual import/hash/version data saved; two references repaired through verified official API records
Source → representation → retrieval → answer and evaluation that reveals missing/wrong evidenceExecuted Q3 trace and Q1–Q5Actual run saved; vector Q3 missing-source result and wording limits retained
Hosting/resources and three to five observable stories/checksHosting gates and C1–C5Real local/public RAG, trusted HTTPS, denied requests, ordinary restart and controlled private backup/restore observed
Index to sources, comparisons and decisionsResearch index and labeled headingsCovered
Source facts, assumptions, planned checks and observed results distinguishedEvidence labels, real evaluation, historical exercise and open checksActual results distinguished from AI judgment, fixtures and pending human checks and explicitly deferred work
Actual check linksPublic research/chatbot, published frozen results, original attachments and codePublic research, results and hosted/recovery receipts checked; draft PR #7 open/unmerged; Linux and Windows CI passed at package 72; final instructor access still needs review
Changed/checked/next and help/contribution disclosureBoth sections and authorship noteCovered; Derrick’s own verification and explanation pending
Useful peer feedback, decision and any changed documentationPartner walkthroughPrepared; real feedback and response pending
November 17, 1 p.m. Eastern; 100 points; text entry; hosted app optional at PlanCanvas text supplied November 10Confirmed from supplied instructions
Instructor-readable record/evidence links and actual Canvas submissionFinal hand-inAccess and submission receipt not verified

Rubric alignment: the Canvas rubric assigns 25 points each to Complete, Thoughtful, Checked and Understood. Mapped content supports completeness; alternatives and bounded decisions support thoughtfulness; source inspection, actual model/evaluation outputs, local automated checks and specific hosted/recovery observations provide checking evidence with limits. Derrick still needs to verify AI-generated claims against originals and explain choices in his own words. Human peer feedback, portfolio/private reflection, final access review and Canvas submission remain pending. This audit is not a grade or a claim that every later-stage requirement is complete.

Partner walkthrough

Ask the partner to navigate without an explanation first:

  1. Ask whether the target cloud/platform reader and featured evidence follow from J1–J3; trace one original employer responsibility to a portfolio decision and an existing work link.
  1. Follow permitted S01/S05 through the proposed chunks, retrieval and Q1 answer. Explain how missing S01/S05 or a false EXPOSE claim would fail Q1, and distinguish expected behavior from an executed result.
  1. Challenge the SQLite/Rust/NATS choice and propose one small check that could change it.
  1. Add the real reviewer/date, useful feedback or question, Derrick’s decision, any changed documentation link, and verification/open limits to this existing record. A reasoned decision to keep the plan can be recorded; no new issue quota or separate report is required.

Current peer status: no name, review date, feedback, approval or retest has been supplied. Do not fill these fields from AI roleplay. The later Improve stage still requires real peer feedback, a meaningful change and retesting.

Authorship and help

Derrick chose the project direction and requested the change from Docker documentation to his Newark website, real data, ETL, an AI bot and agent assistance; he selected OpenAI and configured the key privately. AI agents researched sources, wrote integration code/tests/evaluation and drafted the updated technical record. The summaries and evidence-support reviews are AI-authored, not Derrick’s personal reflection or a human partner’s words. Earlier technology preferences are retained as history; deferred tools and unverified claims stay labeled. No learner motivation, peer comment, grade or unmeasured result is invented.

Canvas hand-in

Submit in the individual Review 1 text-entry box using the exact headings “1. Individual portfolio + career research” and “2. Individual RAG app + technical research.” Under each, link the corresponding part of this single evolving record and the relevant repositories, sources and actual check evidence, and retain a short changed/checked/next note. Keep the reviewed private career reflection directly in Canvas under the portfolio heading; do not add it to this shareable record. Confirm that the instructor can open the record and attached checks; a private link alone does not grant access.

The record has not been submitted to Canvas. The supplied assignment text confirms November 17, 2026 at 1 p.m. Eastern and makes a hosted application optional at Plan; working hosted foundations are required at Build. Before hand-in, complete the real peer response and Derrick’s review, verify link access, and retain the Canvas submission receipt.

Course and technical references

Course briefs and handouts read November 9, 2026:

Primary technical references read for the original Plan and November 10 Newark update; the five research papers and instructor reference above support specific choices, not unmeasured project gains:

The supplied classroom photos informed the questions about SQLite concurrency, extraction and durable messaging. They are classroom context rather than proof that a specific stack or benchmark is mandatory.

Historical Docker Plan exercise (snapshot)

These are the original source and observed output attached to the editable record, retained as historical Docker-plan provenance. This authored-paraphrase boundary exercise is separate from the actual Newark five-question evaluation above.

Chunk boundary exercise source

"""Small Plan-only chunk-boundary exercise on an authored paraphrase.

This is not a document import, embedding benchmark, or generated RAG answer.
"""
import hashlib
import json
from pathlib import Path

ROOT = Path(__file__).resolve().parent
PARAGRAPHS = [
    "Publishing ports\nDocker can forward a host port to a container port. In a mapping such as 8080:80, the host port is written first and the container port second.",
    "Network exposure\nPublishing a port normally listens on every host interface. Binding the mapping to 127.0.0.1 limits host access to the loopback address.",
]
fixture = "\n\n".join(PARAGRAPHS)
size = 120
fixed = [fixture[i:i+size] for i in range(0, len(fixture), size)]
answer = "the host port is written first and the container port second"
results = {
    "kind": "observed locally on an authored paraphrased fixture",
    "source": "S01 / Publishing and exposing ports",
    "fixture_sha256": hashlib.sha256(fixture.encode()).hexdigest(),
    "units": "Python Unicode characters, not model tokens",
    "fixture_characters": len(fixture),
    "paragraph_chunk_count": len(PARAGRAPHS),
    "fixed_chunk_characters": size,
    "fixed_chunk_count": len(fixed),
    "paragraph_answer_in_one_chunk": any(answer in p for p in PARAGRAPHS),
    "fixed_answer_in_one_chunk": any(answer in p for p in fixed),
    "paragraph_chunks": PARAGRAPHS,
    "fixed_chunks": fixed,
    "limitation": "Boundary inspection only; no tokenizer, embeddings, live source import, retrieval evaluation or generation ran.",
}
(ROOT / "chunk-exercise.json").write_text(json.dumps(results, indent=2)+"\n")
print(json.dumps(results, indent=2))

Observed chunk boundary results

{
  "kind": "observed locally on an authored paraphrased fixture",
  "source": "S01 / Publishing and exposing ports",
  "fixture_sha256": "66eb97076878f012425547505560dc1cbd9b4cf01ba1b790603c0f21dd64e528",
  "units": "Python Unicode characters, not model tokens",
  "fixture_characters": 315,
  "paragraph_chunk_count": 2,
  "fixed_chunk_characters": 120,
  "fixed_chunk_count": 3,
  "paragraph_answer_in_one_chunk": true,
  "fixed_answer_in_one_chunk": false,
  "paragraph_chunks": [
    "Publishing ports\nDocker can forward a host port to a container port. In a mapping such as 8080:80, the host port is written first and the container port second.",
    "Network exposure\nPublishing a port normally listens on every host interface. Binding the mapping to 127.0.0.1 limits host access to the loopback address."
  ],
  "fixed_chunks": [
    "Publishing ports\nDocker can forward a host port to a container port. In a mapping such as 8080:80, the host port is writ",
    "ten first and the container port second.\n\nNetwork exposure\nPublishing a port normally listens on every host interface. B",
    "inding the mapping to 127.0.0.1 limits host access to the loopback address."
  ],
  "limitation": "Boundary inspection only; no tokenizer, embeddings, live source import, retrieval evaluation or generation ran."
}