maxluong2496

Minh Quan Duc Luong (Max)

@maxluong2496 · Big Data engineer | Full-stack web developer | DevOps/SRE | MLOps practitioner
GitHub Profile
direct and decisive with occasional collaborative moments
Direct and practical reviewer who focuses on technical correctness and implementation details. Tends to give brief, decisive responses with clear technical reasoning, often providing concrete code examples when needed.
51
Comments
10
PRs
3
Repos
125
Avg Chars
4
Harshness

Personality

technically precise risk-averse pragmatic direct communicator solution-oriented flexible on non-critical issues detail-focused protective of system integrity

Greatest Hits

"No it is too risky"
"Got it, show me your code suggestion"
"It is a good point! I added error handling"
"Hi @ [username]"
"I think we can fix late"
"No I want to keep it as is"

Focus Areas

Common Phrases

"No it is" "I think we can fix late" "I want to" "Got it, show me your code suggestion" "Hi @" "Done, I've updated" "No I mean" "It is a good point!" "I added" "Let me fix it" "could you checkout them to a function?" "I think it is not too critical now" "we don't have" "I removed" "but then I moved to"

Sentiment Breakdown

neutral
39
constructive
6
positive
1

Review Outcomes

APPROVED
5

Most Reviewed Authors

maxluong2496
45
thamtt-tinyfish
3
hvo
2
lebahoang
1

AI Persona Prompt

You are maxluong2496, a practical and technically-focused code reviewer. Your communication style is direct and brief, often starting responses with 'No it is' or 'I think'. When you spot technical issues, you immediately flag them as risky or problematic. You frequently provide concrete code examples and fixes rather than just pointing out problems. You're collaborative when teammates make good suggestions, responding with 'It is a good point!' and implementing their feedback. You tend to be pragmatic about non-critical issues, saying things like 'I think we can fix late' or 'it is not too critical now'. You're particularly focused on error handling, regex patterns, security concerns, and technical correctness. When addressing teammates, you always use 'Hi @username' format. You're protective of system integrity but flexible on minor issues. Your responses are typically short and decisive, and you often explain your technical reasoning with specific implementation details. You don't waste words but you're not rude - just efficient and focused on getting the code right. When you make changes, you announce them with 'Done, I've updated' or 'I added'. You frequently ask for code suggestions when collaborating: 'Got it, show me your code suggestion'.

Recent Comments (46 total)

llm-safety/#28 ML-1238 package egresshield · tests/models/guards/test_egress_shield.py [view]
I fixed begin = "-" * 5 + "BEGIN RSA " + "PRIVATE KEY" + "-" * 5 end = "-" * 5 + "END RSA " + "PRIVATE KEY" + "-" * 5 text = f"{begin}\nMIIEpAIBAAKCAQEA...key content...\n{end}" matches = regex_rule.evaluate(text) assert len(matches) >= 1 assert any(m.match_type == "SSH_KEY" for m in matches)
llm-safety/#28 ML-1238 package egresshield · models/guards/egress_shield/v1/const.py [view]
fixed
llm-safety/#28 ML-1238 package egresshield · models/guards/egress_shield/v1/const.py [view]
No it is too risky
llm-safety/#28 ML-1238 package egresshield · models/guards/egress_shield/guard.py [view]
rules.py:70-71 - Creates an empty RecognizerRegistry() and only adds custom PatternRecognizer (regex-based patterns). EgressShield does NOT use spacy at all. Spacy is only needed when using Presidio's built-in NER-based recognizers (like SpacyRecognizer for detecting names/locations). Since we only use regex patterns, spacy is not required. The CLAUDE.md documentation is incorrect. Let m
llm-safety/#28 ML-1238 package egresshield · models/guards/egress_shield/guard.py [view]
It is a good point! I added error handling def _get_keywords(self, context: Any) -> list[str]: if hasattr(context, "artifacts") and "tool_keywords" in context.artifacts: keywords_path = Path(context.artifacts["tool_keywords"]) try: return json.loads(keywords_path.read_text()) except json.JSONDecodeError as e: raise GuardLoadEr
llm-safety/#28 ML-1238 package egresshield · models/guards/egress_shield/rules.py [view]
Now returns the human-readable pattern name aws_access_key instead of unknown (or raw regex). Changes: 1. Added return_decision_process=True to analyze() call 2. Use pattern_name attribute (falls back to pattern regex if not available)
llm-safety/#28 ML-1238 package egresshield · models/guards/egress_shield/v1/const.py [view]
Hi @thamtt-tinyfish 10.0.0.1234 is NOT a valid IP address. Valid IPv4 octets must be 0-255. "1234" exceeds this range.
llm-safety/#24 ML-1241/impl package model prompt guard · models/wrapper.py [view]
Hi @thamtt-tinyfish The logic is bigger now, could you checkout them to a function?
llm-safety/#21 ML-1237 implement granite 1.0 · models/guards/granite/v1/CLAUDE.md [view]
fixed
llm-safety/#21 ML-1237 implement granite 1.0 · models/guards/granite/v1/const.py [view]
fixed
llm-safety/#21 ML-1237 implement granite 1.0 · models/wrapper.py [view]
fixed
llm-safety/#21 ML-1237 implement granite 1.0 · models/guards/granite/v1/guard.py [view]
fixed
llm-safety/#21 ML-1237 implement granite 1.0 · models/guards/granite/v1/CLAUDE.md [view]
No it is minor
llm-safety/#21 ML-1237 implement granite 1.0 · models/guards/granite/v1/CLAUDE.md [view]
I think we can fix late
llm-safety/#21 ML-1237 implement granite 1.0 · models/guards/granite/v1/guard.py [view]
But my model need to be run on GCP only